<template>
	<el-card shadow="never" ref="mainHome" class="aui-card--fill">
		<div class="mod-home">
			<el-row>
				<el-col :span="24">
					<div class="home-header">{{ stationName }}</div>
				</el-col>
			</el-row>
			<el-row>
				<el-col :span="16">
					<div class="home-tuli">
						<div class="homeTuTxt">图例</div>
						<div class="homeTuSt">
							<span class="homeTuSt1">有效状态</span>
							<span class="homeTuSt2">无动作</span>
						</div>
						<div class="homeTuStList" style="width: 85%;margin-left: 0.5vw;">
							<ul style="width: 100%;">
								<li class="homeTuStListLi" v-for="item in homeTuStListAll">
									<img :src="item.imgUrl" />
									<span>{{ item.name }}</span>
								</li>
							</ul>
						</div>
					</div>
				</el-col>
				<el-col :span="8">
					<div class="home-tuli home-tuli1">
						<div class="homeTuTxt homeTuTxt1">电源故障</div>
						<div class="homeDY">
							<ul>
								<li v-for="(item, index) in homeDianList" :class="
                    item.status == 1
                      ? 'active'
                      : item.status == 0
                      ? 'IBPactive'
                      : item.status == -1
                      ? ''
                      : ''
                  ">
									<span>{{ item.name }}</span>
								</li>
							</ul>
						</div>
					</div>
				</el-col>
			</el-row>

			<el-row>
				<el-col :span="24">
					<div class="homeSH">
						<h3 class="homeSHTxt">
							上行 <span v-if="upStatus">({{ upStatus }})</span>
						</h3>
						
						<div class="homeSH1" v-if="doorList.length !== 0">
							<div class="homeSH2" v-for="(item, index) in doorList" :style="{width: `${100/Math.max(avaNum,avaNumD)}%`}" 
				:class="[
                  index >= avaNum && doorList.length >= 17 ? 'door1' : '',
                  item.dcu == 0 ? 'opcity1' : '',
                ]" @mouseenter="doorHover(item, index, 1)" @mousemove="updateXY"
								@mouseleave="doorLeave(item, index, 1)" @click="doorInfo(item, 1)">
								<span>{{ item.dcu }}</span>
								<el-badge :value="
                    item.statusG == 1? item.statusGNum: item.status == 1 && item.statusNum !== 0? item.statusNum: ''
                  " :class="
                    item.statusG == 1
                      ? 'item'
                      : item.status == 1 && item.statusG == 0
                      ? 'item1'
                      : ''
                  ">				
									<!-- <div v-if="item.doorType == 1&&item.statusZT==1" class="ztgl"></div> -->
									<div v-if="item.statusZ == 0">
										<!--最高等级的下标是开门到位 -->
										<template v-if="item.doorType == 3">
											<template v-if="item.lCB6MarshallInfo == 1">
												<img src="@/assets/img/add1/kaimendaowei-L.png" />
											</template>
											<template v-else-if="item.lCB8MarshallInfo == 1">
												<img src="@/assets/img/add1/kaimendaowei-R.png" />
											</template>
											<template v-else>
												<img src="@/assets/img/add1/kaimendaowei-L.png" />
											</template>
										</template>
										<template v-else>
											<img src="@/assets/img/kaimendaowei.png" />
										</template>
									</div>

									<div v-if="item.statusZ == 1">
										<!--最高等级的下标是关门到位 -->
										<template v-if="item.doorType == 3">
											<template v-if="item.lCB6MarshallInfo == 1">
												<img src="@/assets/img/add1/guanbidaowei-L.png" />
											</template>
											<template v-else-if="item.lCB8MarshallInfo == 1">
												<img src="@/assets/img/add1/guanbidaowei-R.png" />
											</template>
											<template v-else>
												<img src="@/assets/img/add1/guanbidaowei-L.png" />
											</template>
										</template>
										<template v-else>
											<img src="@/assets/img/guanbidaowei.png" />
										</template>
									</div>

									<div v-if="item.statusZ == 2">
										<!--最高等级的下标是关闭锁紧 -->
										<template v-if="item.doorType == 3">
											<template v-if="item.lCB6MarshallInfo == 1">
												<img src="@/assets/img/add1/guanbisuojin-L.png" />
											</template>
											<template v-else-if="item.lCB8MarshallInfo == 1">
												<img src="@/assets/img/add1/guanbisuojin-R.png" />
											</template>
											<template v-else>
												<img src="@/assets/img/add1/guanbisuojin-L.png" />
											</template>
										</template>
										<template v-else>
											<img src="@/assets/img/guanbisuojin.png" />
										</template>
									</div>

									<div v-if="item.statusZ == 3">
										<!--最高等级的下标是手动锁紧 -->
										<template v-if="item.doorType == 3">
											<template v-if="item.lCB6MarshallInfo == 1">
												<img src="@/assets/img/add1/shoudong-L.png" />
											</template>
											<template v-else-if="item.lCB8MarshallInfo == 1">
												<img src="@/assets/img/add1/shoudong-R.png" />
											</template>
											<template v-else>
												<img src="@/assets/img/add1/shoudong-L.png" />
											</template>
										</template>
										<template v-else>
											<img src="@/assets/img/shoudong.png" />
										</template>
									</div>

									<div v-if="item.statusZ == 4">
										<!--最高等级的下标是LCB隔离 -->
										<template v-if="item.doorType == 3">
											<template v-if="item.lCB6MarshallInfo == 1">
												<img src="@/assets/img/add1/LCB-L.png" />
											</template>
											<template v-else-if="item.lCB8MarshallInfo == 1">
												<img src="@/assets/img/add1/LCB-R.png" />
											</template>
											<template v-else>
												<img src="@/assets/img/add1/LCB-L.png" />
											</template>
										</template>
										<template v-else>
											<img src="@/assets/img/LCB.png" />
										</template>
									</div>

									<div v-if="item.statusZ == 5">
										<!--最高等级的下标是关门过程中 -->
										<template v-if="item.doorType == 3">
											<template v-if="item.lCB6MarshallInfo == 1">
												<img src="@/assets/img/add1/guanmenguocheng-L.png" />
											</template>
											<template v-else-if="item.lCB8MarshallInfo == 1">
												<img src="@/assets/img/add1/guanmenguocheng-R.png" />
											</template>
											<template v-else>
												<img src="@/assets/img/add1/guanmenguocheng-L.png" />
											</template>
										</template>
										<template v-else>
											<img src="@/assets/img/guanmenguocheng.png" />
										</template>
									</div>

									<div v-if="item.statusZ == 6">
										<!--最高等级的下标是开门过程中 -->
										<template v-if="item.doorType == 3">
											<template v-if="item.lCB6MarshallInfo == 1">
												<img src="@/assets/img/add1/kaimenguocheng-L.png" />
											</template>
											<template v-else-if="item.lCB8MarshallInfo == 1">
												<img src="@/assets/img/add1/kaimenguocheng-R.png" />
											</template>
											<template v-else>
												<img src="@/assets/img/add1/kaimenguocheng-L.png" />
											</template>
										</template>
										<template v-else>
											<img src="@/assets/img/kaimenguocheng.png" />
										</template>
									</div>

									<div v-if="
                      item.statusZ == 7 &&
                        item.statusG == 0 &&
                        item.asdOpenBlock == 0
                    ">
										<!--最高等级的下标是开门遇阻并且不存在故障和开门遇阻是0-->
										<template v-if="item.doorType == 3">
											<template v-if="item.lCB6MarshallInfo == 1">
												<img src="@/assets/img/add1/guanbidaowei1-L.png" />
											</template>
											<template v-else-if="item.lCB8MarshallInfo == 1">
												<img src="@/assets/img/add1/guanbidaowei1-R.png" />
											</template>
											<template v-else>
												<img src="@/assets/img/add1/guanbidaowei1-L.png" />
											</template>
										</template>
										<template v-else>
											<img src="@/assets/img/guanbidaowei1.png" />
										</template>
									</div>
									<div v-if="
                      item.statusZ == 8 &&
                        item.statusG == 0 &&
                        item.asdCloseBlock == 0
                    ">
										<!--最高等级的下标是关门遇阻并且不存在故障和关门遇阻是0-->
										<template v-if="item.doorType == 3">
											<template v-if="item.lCB6MarshallInfo == 1">
												<img src="@/assets/img/add1/guanbidaowei1-L.png" />
											</template>
											<template v-else-if="item.lCB8MarshallInfo == 1">
												<img src="@/assets/img/add1/guanbidaowei1-R.png" />
											</template>
											<template v-else>
												<img src="@/assets/img/add1/guanbidaowei1-L.png" />
											</template>
										</template>
										<template v-else>
											<img src="@/assets/img/guanbidaowei1.png" />
										</template>
									</div>
									<div v-if="
                      item.statusZ == 7 &&
                        item.statusG == 1 &&
                        item.asdOpenBlock == 0
                    ">
										<!--最高等级的下标是开门遇阻并且存在故障和开门遇阻是0-->
										<template v-if="item.doorType == 3">
											<template v-if="item.lCB6MarshallInfo == 1">
												<img src="@/assets/img/add1/guanbidaowei1-L.png" />
											</template>
											<template v-else-if="item.lCB8MarshallInfo == 1">
												<img src="@/assets/img/add1/guanbidaowei1-R.png" />
											</template>
											<template v-else>
												<img src="@/assets/img/add1/guanbidaowei1-L.png" />
											</template>
										</template>
										<template v-else>
											<img src="@/assets/img/guanbidaowei1.png" />
										</template>
									</div>
									<div v-if="
                      item.statusZ == 8 &&
                        item.statusG == 1 &&
                        item.asdCloseBlock == 0
                    ">
										<!--最高等级的下标是关门遇阻并且存在故障和关门遇阻是0-->
										<template v-if="item.doorType == 3">
											<template v-if="item.lCB6MarshallInfo == 1">
												<img src="@/assets/img/add1/guanbidaowei1-L.png" />
											</template>
											<template v-else-if="item.lCB8MarshallInfo == 1">
												<img src="@/assets/img/add1/guanbidaowei1-R.png" />
											</template>
											<template v-else>
												<img src="@/assets/img/add1/guanbidaowei1-L.png" />
											</template>
										</template>
										<template v-else>
											<img src="@/assets/img/guanbidaowei1.png" />
										</template>
									</div>
									<div v-if="
                      item.statusZ == 7 &&
                        item.statusG == 1 &&
                        item.asdOpenBlock == 1
                    ">
										<!--最高等级的下标是开门遇阻并且存在故障并且开门遇阻是1-->
										<template v-if="item.doorType == 3">
											<template v-if="item.lCB6MarshallInfo == 1">
												<img src="@/assets/img/add1/kmyz-L.png" />
											</template>
											<template v-else-if="item.lCB8MarshallInfo == 1">
												<img src="@/assets/img/add1/kmyz-R.png" />
											</template>
											<template v-else>
												<img src="@/assets/img/add1/kmyz-L.png" />
											</template>
										</template>
										<template v-else>
											<img src="@/assets/img/kmyz.png" />
										</template>
									</div>
									<div v-if="
                      item.statusZ == 8 &&
                        item.statusG == 1 &&
                        item.asdCloseBlock == 1
                    ">
										<!--最高等级的下标是关门遇阻并且存在故障并且关门遇阻是1-->
										<template v-if="item.doorType == 3">
											<template v-if="item.lCB6MarshallInfo == 1">
												<img src="@/assets/img/add1/gmyz-L.png" />
											</template>
											<template v-else-if="item.lCB8MarshallInfo == 1">
												<img src="@/assets/img/add1/gmyz-R.png" />
											</template>
											<template v-else>
												<img src="@/assets/img/add1/gmyz-L.png" />
											</template>
										</template>
										<template v-else>
											<img src="@/assets/img/gmyz.png" />
										</template>
										
									</div>
									<div v-if="item.statusG == 1 && item.status == 0">
										<!--链路故障数据-->
										<template v-if="item.doorType == 3">
											<template v-if="item.lCB6MarshallInfo == 1">
												<img src="@/assets/img/add1/guanbidaowei1-L.png" />
											</template>
											<template v-else-if="item.lCB8MarshallInfo == 1">
												<img src="@/assets/img/add1/guanbidaowei1-R.png" />
											</template>
											<template v-else>
												<img src="@/assets/img/add1/guanbidaowei1-L.png" />
											</template>
										</template>
										<template v-else>
											<img src="@/assets/img/guanbidaowei1.png" />
										</template>
									</div>
									<div v-if="
                      item.doorType == 0 &&
                        item.statusZ == null &&
                        (item.status == -1 || item.status == null)
                    ">
										<!--端门初始-->
										<img src="@/assets/img/duanmen.png" />
									</div>
									<div v-if="
                      item.doorType == 0 &&
                        item.statusZ == null &&
                        item.status == 0
                    ">
										<!--端门显示锁闭-->
										<img src="@/assets/img/duanmen1.png" />
									</div>
									<div v-if="
                      item.doorType == 0 &&
                        item.statusZ == null &&
                        item.status == 1
                    ">
										<!--端门显示未锁闭 -->
										<img src="@/assets/img/dmgz.png" />
									</div>
									<div v-if="(item.doorType == 1 || item.doorType == 3) && item.statusZ == null">
										<!--滑动门没有推送数据-->
										<img src="@/assets/img/guanbidaowei1.png" />
									</div>
									<!--司机门状态-->
									<div v-if="item.doorType == 4 && item.status == 0">
										<img src="@/assets/img/yjm.png" />
									</div>
									<div v-if="item.doorType == 4 && item.status == 1">
										<img src="@/assets/img/yjqgz.png" />
									</div>
									<!-- 全高应急门左右 -->
									<div v-if="
                      item.doorType == 2 &&
                        item.statusZ == null &&
                        item.type == 0 &&
                        ((item.statuslf == 0 && item.statusrg == 0) ||
                          item.statuslf == null)
                    ">
										<!--应急门没有推送数据-->
										<img src="@/assets/img/yjm.png" />
									</div>
									<div v-if="
                      item.doorType == 2 &&
                        item.statusZ == null &&
                        item.type == 0 &&
                        item.statuslf == 1 &&
                        item.statusrg == 1
                    ">
										<!--应急门左右都未锁闭-->
										<img src="@/assets/img/yjqgz.png" />
									</div>
									<div v-if="
                      item.doorType == 2 &&
                        item.statusZ == null &&
                        item.type == 0 &&
                        item.statuslf == 1 &&
                        item.statusrg == 0
                    ">
										<!--应急门左门未锁闭-->
										<img src="@/assets/img/leftdoor.png" />
									</div>
									<div v-if="
                      item.doorType == 2 &&
                        item.statusZ == null &&
                        item.type == 0 &&
                        item.statuslf == 0 &&
                        item.statusrg == 1
                    ">
										<!--应急门右门未锁闭-->
										<img src="@/assets/img/rightdoor.png" />
									</div>
									<!-- 半高应急门不分左右-->
									<div v-if="
                      item.doorType == 2 &&
                        item.statusZ == null &&
                        item.type == 1 &&
                        ((item.statuslf == 0 && item.statusrg == 0) ||
                          item.statuslf == null)
                    ">
										<!--应急门没有推送数据-->
										<img src="@/assets/img/yjmbg.png" />
									</div>
									<div v-if="
                      item.doorType == 2 &&
                        item.statusZ == null &&
                        item.type == 1 &&
                        (item.statuslf == 1 || item.statusrg == 1)
                    ">
										<!--应急门未锁闭-->
										<img src="@/assets/img/yjbgz.png" />
									</div>
								</el-badge>
							</div>
						</div>
						<div class="homeSH1" v-else>
							<div class="homeSH2"
								style="width: 100%;font-size: 16px;font-weight: 600;color:rgba(166, 166, 166, 1)">
								本站暂无门配置信息
							</div>
						</div>
					</div>
				</el-col>
			</el-row>
			<el-row>
				<el-col :span="24">
					<div class="homeSH homeSHM">
						<div class="homeTuTxt">上行命令</div>
						<div class="homeTuStList">
							<div class="homeTuStList1">
								<p class="homeTuStList11">IBP命令</p>
								<!-- <el-popover v-if="IBPWaringContent" popper-class="homePoper" placement="top-start"
									width="200" trigger="hover" :visible-arrow="false" :content="IBPWaringContent">
									<img slot="reference" class="homewarn" src="@/assets/img/warn.png" />
								</el-popover> -->
								<div class="homeTuStList12">
									<div class="homeTuStList13" :class="[
                      item.status == 0
                        ? ''
                        : item.status == 1
                        ? 'IBPactive'
                        : '',
                      pslNum == 3 ? 'PSLNew2' : '',
                    ]" v-for="(item, index) in IBPList">
										{{ item.name }}
									</div>
								</div>
							</div>
							<div class="homeTuStList2 " :class="pslNum == 3 ? 'PSLW' : ''"
								v-for="(item, val) in pslNum">
								<div style="height: 100%;" v-if="item == 1">
									<p class="homeTuStList11">PSL{{ item }}命令</p>
									<el-popover v-if="PSLWaringContent1" popper-class="homePoper" placement="top-start"
										width="200" trigger="hover" :visible-arrow="false" :content="PSLWaringContent1">
										<img slot="reference" class="homewarn" src="@/assets/img/warn.png" />
									</el-popover>
									<div class="homeTuStList12" :class="pslNum == 3 ? 'PSL12' : ''">
										<button class="homeTuStList13 PSLBtn" :class="[
                        item.status == 0
                          ? ''
                          : item.status == 1 &&
                            (index == 0 || index == 2 || index == 4)
                          ? 'IBPactive'
                          : item.status == 1 &&
                            (PSLList1Up[0].status == 1 ||
                              PSLList1Up[2].status == 1) &&
                            (index == 1 || index == 3 || index == 5)
                          ? 'IBPactive'
                          : '',
                        pslNum == 3 ? 'PSLNew' : '',
                      ]" v-for="(item, index) in PSLList1Up">
											{{ item.name }}
										</button>
									</div>
								</div>
								<div style="height: 100%;" v-if="item == 2">
									<p class="homeTuStList11">PSL{{ item }}命令</p>
									<el-popover v-if="PSLWaringContent2" popper-class="homePoper" placement="top-start"
										width="200" trigger="hover" :visible-arrow="false" :content="PSLWaringContent2">
										<img slot="reference" class="homewarn" src="@/assets/img/warn.png" />
									</el-popover>
									<div class="homeTuStList12" :class="pslNum == 3 ? 'PSL12' : ''">
										<button class="homeTuStList13 PSLBtn" :class="[
                        item.status == 0
                          ? ''
                          : item.status == 1 &&
                            (index == 0 || index == 2 || index == 4)
                          ? 'IBPactive'
                          : item.status == 1 &&
                            (PSLList2Up[0].status == 1 ||
                              PSLList2Up[2].status == 1) &&
                            (index == 1 || index == 3 || index == 5)
                          ? 'IBPactive'
                          : '',
                        pslNum == 3 ? 'PSLNew' : '',
                      ]" v-for="(item, index) in PSLList2Up">
											{{ item.name }}
										</button>
									</div>
								</div>
								<div style="height: 100%;" v-if="item == 3">
									<p class="homeTuStList11">PSL{{ item }}命令</p>
									<el-popover v-if="PSLWaringContent3" popper-class="homePoper" placement="top-start"
										width="200" trigger="hover" :visible-arrow="false" :content="PSLWaringContent3">
										<img slot="reference" class="homewarn" src="@/assets/img/warn.png" />
									</el-popover>
									<div class="homeTuStList12" :class="pslNum == 3 ? 'PSL12' : ''">
										<button class="homeTuStList13 PSLBtn" :class="[
                        item.status == 0
                          ? ''
                          : item.status == 1 &&
                            (index == 0 || index == 2 || index == 4)
                          ? 'IBPactive'
                          : item.status == 1 &&
                            (PSLList3Up[0].status == 1 ||
                              PSLList3Up[2].status == 1) &&
                            (index == 1 || index == 3 || index == 5)
                          ? 'IBPactive'
                          : '',
                        pslNum == 3 ? 'PSLNew' : '',
                      ]" v-for="(item, index) in PSLList3Up">
											{{ item.name }}
										</button>
									</div>
								</div>
							</div>
							<div class="homeTuStList1 homeTuStList3" :class="pslNum == 3 ? 'SIGWidth' : ''">
								<p class="homeTuStList11">SIG命令</p>
								<div class="homeTuStList12 SIGList" :class="pslNum == 3 ? 'PSL12' : ''">
									<button class="homeTuStList13 PSLBtn" :class="[
                      item.status == 0
                        ? ''
                        : item.status == 1
                        ? 'IBPactive'
                        : '',
                      pslNum == 3 ? 'PSLNew1' : '',
                    ]" v-for="(item, index) in SIGList">
										{{ item.name }}
									</button>
								</div>
							</div>
							<div class="homeTuStList2" :class="pslNum == 3 ? 'PSCWidth' : 'PSCWidth1'">
								<p class="homeTuStList11">PSC信息</p>
								<el-popover v-if="PSCWaringContent" popper-class="homePoper" placement="top-start"
									width="200" trigger="hover" :visible-arrow="false" :content="PSCWaringContent">
									<img slot="reference" class="homewarn" src="@/assets/img/warn.png" />
								</el-popover>
								<div class="homeTuStList12" :class="pslNum == 3 ? 'PSL12' : ''">
									<button class="homeTuStList13 PSLBtn" @click="safeContentShow(index, 0,item.status)"
										:class="[ item.status == 0 &&index !== 3 && index !== 4 &&index !== 5 ? '' : item.status == 1 &&index !== 3 &&index !== 4 &&index !== 5? 'IBPactive': '',
                      (item.status == 0 && index == 3) ||
                      (item.status == 0 && index == 4) ||
                      (item.status == 0 && index == 5)
                        ? 'IBPactive'
                        : (item.status == 1 && index == 3) ||
                          (item.status == 1 && index == 4) ||
                          (item.status == 1 && index == 5)
                        ? 'active'
                        : (item.status == 2 && index == 6)|| (item.status == 2 && index == 7)?'active safeBtn':'',
                      item.status == 1 && index == 3 ? 'safeBtn' : '',
                      pslNum == 3 ? 'PSLNew3' : '',
                      item.status == -1 && index == 3 ? '' : '',
                    ]" v-for="(item, index) in PSCList"
					:style="{visibility: item.status == -2 ? 'hidden' : 'visible'}">
										{{ item.name }}
										<span v-if="item.status == 1 && index == 3">异常</span>
									</button>
								</div>
							</div>
						</div>
					</div>
				</el-col>
			</el-row>
			<el-row>
				<el-col :span="24">
					<div class="homeSH">
						<h3 class="homeSHTxt">
							下行 <span v-if="downStatus">({{ downStatus }})</span>
						</h3>
						<div class="homeSH1" v-if="doorListDown.length !== 0">
							<div class="homeSH2"
                v-for="(item, index) in doorListDown" :style="{width: `${100/Math.max(avaNum,avaNumD)}%`}"   :class="[
                  index >= avaNumD && doorListDown.length >= 17 ? 'door1' : '',
                  item.dcu == 0 ? 'opcity1' : '',
                ]" @mouseenter="doorHover(item, index, 0)" @mouseleave="doorLeave(item, index, 0)"
								@mousemove="updateXY" @click="doorInfo(item, 0)">
								<span>{{ item.dcu }}</span>
								<el-badge :value="
                    item.statusG == 1 ? item.statusGNum: item.status == 1 && item.statusNum !== 0
                      ? item.statusNum
                      : ''
                  " :class="
                    item.statusG == 1
                      ? 'item'
                      : item.status == 1 && item.statusG == 0
                      ? 'item1'
                      : ''
                  ">
									<div v-if="item.statusZ == 0">
										<!--最高等级的下标是开门到位 -->
										<template v-if="item.doorType == 3">
											<template v-if="item.lCB6MarshallInfo == 1">
												<img src="@/assets/img/add1/kaimendaowei-L.png" />
											</template>
											<template v-else-if="item.lCB8MarshallInfo == 1">
												<img src="@/assets/img/add1/kaimendaowei-R.png" />
											</template>
											<template v-else>
												<img src="@/assets/img/add1/kaimendaowei-L.png" />
											</template>
										</template>
										<template v-else>
											<img src="@/assets/img/kaimendaowei.png" />
										</template>
									</div>

									<div v-if="item.statusZ == 1">
										<!--最高等级的下标是关门到位 -->
										<template v-if="item.doorType == 3">
											<template v-if="item.lCB6MarshallInfo == 1">
												<img src="@/assets/img/add1/guanbidaowei-L.png" />
											</template>
											<template v-else-if="item.lCB8MarshallInfo == 1">
												<img src="@/assets/img/add1/guanbidaowei-R.png" />
											</template>
											<template v-else>
												<img src="@/assets/img/add1/guanbidaowei-L.png" />
											</template>
										</template>
										<template v-else>
											<img src="@/assets/img/guanbidaowei.png" />
										</template>
									</div>

									<div v-if="item.statusZ == 2">
										<!--最高等级的下标是关闭锁紧 -->
										<template v-if="item.doorType == 3">
											<template v-if="item.lCB6MarshallInfo == 1">
												<img src="@/assets/img/add1/guanbisuojin-L.png" />
											</template>
											<template v-else-if="item.lCB8MarshallInfo == 1">
												<img src="@/assets/img/add1/guanbisuojin-R.png" />
											</template>
											<template v-else>
												<img src="@/assets/img/add1/guanbisuojin-L.png" />
											</template>
										</template>
										<template v-else>
											<img src="@/assets/img/guanbisuojin.png" />
										</template>
									</div>

									<div v-if="item.statusZ == 3">
										<!--最高等级的下标是手动锁紧 -->
										<template v-if="item.doorType == 3">
											<template v-if="item.lCB6MarshallInfo == 1">
												<img src="@/assets/img/add1/shoudong-L.png" />
											</template>
											<template v-else-if="item.lCB8MarshallInfo == 1">
												<img src="@/assets/img/add1/shoudong-R.png" />
											</template>
											<template v-else>
												<img src="@/assets/img/add1/shoudong-L.png" />
											</template>
										</template>
										<template v-else>
											<img src="@/assets/img/shoudong.png" />
										</template>
									</div>

									<div v-if="item.statusZ == 4">
										<!--最高等级的下标是LCB隔离 -->
										<template v-if="item.doorType == 3">
											<template v-if="item.lCB6MarshallInfo == 1">
												<img src="@/assets/img/add1/LCB-L.png" />
											</template>
											<template v-else-if="item.lCB8MarshallInfo == 1">
												<img src="@/assets/img/add1/LCB-R.png" />
											</template>
											<template v-else>
												<img src="@/assets/img/add1/LCB-L.png" />
											</template>
										</template>
										<template v-else>
											<img src="@/assets/img/LCB.png" />
										</template>
									</div>

									<div v-if="item.statusZ == 5">
										<!--最高等级的下标是关门过程中 -->
										<template v-if="item.doorType == 3">
											<template v-if="item.lCB6MarshallInfo == 1">
												<img src="@/assets/img/add1/guanmenguocheng-L.png" />
											</template>
											<template v-else-if="item.lCB8MarshallInfo == 1">
												<img src="@/assets/img/add1/guanmenguocheng-R.png" />
											</template>
											<template v-else>
												<img src="@/assets/img/add1/guanmenguocheng-L.png" />
											</template>
										</template>
										<template v-else>
											<img src="@/assets/img/guanmenguocheng.png" />
										</template>
									</div>

									<div v-if="item.statusZ == 6">
										<!--最高等级的下标是开门过程中 -->
										<template v-if="item.doorType == 3">
											<template v-if="item.lCB6MarshallInfo == 1">
												<img src="@/assets/img/add1/kaimenguocheng-L.png" />
											</template>
											<template v-else-if="item.lCB8MarshallInfo == 1">
												<img src="@/assets/img/add1/kaimenguocheng-R.png" />
											</template>
											<template v-else>
												<img src="@/assets/img/add1/kaimenguocheng-L.png" />
											</template>
										</template>
										<template v-else>
											<img src="@/assets/img/kaimenguocheng.png" />
										</template>
									</div>

									<div v-if="
                      item.statusZ == 7 &&
                        item.statusG == 0 &&
                        item.asdOpenBlock == 0
                    ">
										<!--最高等级的下标是开门遇阻并且不存在故障和开门遇阻是0-->
										<template v-if="item.doorType == 3">
											<template v-if="item.lCB6MarshallInfo == 1">
												<img src="@/assets/img/add1/guanbidaowei1-L.png" />
											</template>
											<template v-else-if="item.lCB8MarshallInfo == 1">
												<img src="@/assets/img/add1/guanbidaowei1-R.png" />
											</template>
											<template v-else>
												<img src="@/assets/img/add1/guanbidaowei1-L.png" />
											</template>
										</template>
										<template v-else>
											<img src="@/assets/img/guanbidaowei1.png" />
										</template>
									</div>
									<div v-if="
                      item.statusZ == 8 &&
                        item.statusG == 0 &&
                        item.asdCloseBlock == 0
                    ">
										<!--最高等级的下标是关门遇阻并且不存在故障和关门遇阻是0-->
										<template v-if="item.doorType == 3">
											<template v-if="item.lCB6MarshallInfo == 1">
												<img src="@/assets/img/add1/guanbidaowei1-L.png" />
											</template>
											<template v-else-if="item.lCB8MarshallInfo == 1">
												<img src="@/assets/img/add1/guanbidaowei1-R.png" />
											</template>
											<template v-else>
												<img src="@/assets/img/add1/guanbidaowei1-L.png" />
											</template>
										</template>
										<template v-else>
											<img src="@/assets/img/guanbidaowei1.png" />
										</template>
									</div>
									<div v-if="
                      item.statusZ == 7 &&
                        item.statusG == 1 &&
                        item.asdOpenBlock == 0
                    ">
										<!--最高等级的下标是开门遇阻并且存在故障和开门遇阻是0-->
										<template v-if="item.doorType == 3">
											<template v-if="item.lCB6MarshallInfo == 1">
												<img src="@/assets/img/add1/guanbidaowei1-L.png" />
											</template>
											<template v-else-if="item.lCB8MarshallInfo == 1">
												<img src="@/assets/img/add1/guanbidaowei1-R.png" />
											</template>
											<template v-else>
												<img src="@/assets/img/add1/guanbidaowei1-L.png" />
											</template>
										</template>
										<template v-else>
											<img src="@/assets/img/guanbidaowei1.png" />
										</template>
									</div>
									<div v-if="
                      item.statusZ == 8 &&
                        item.statusG == 1 &&
                        item.asdCloseBlock == 0
                    ">
										<!--最高等级的下标是关门遇阻并且存在故障和关门遇阻是0-->
										<template v-if="item.doorType == 3">
											<template v-if="item.lCB6MarshallInfo == 1">
												<img src="@/assets/img/add1/guanbidaowei1-L.png" />
											</template>
											<template v-else-if="item.lCB8MarshallInfo == 1">
												<img src="@/assets/img/add1/guanbidaowei1-R.png" />
											</template>
											<template v-else>
												<img src="@/assets/img/add1/guanbidaowei1-L.png" />
											</template>
										</template>
										<template v-else>
											<img src="@/assets/img/guanbidaowei1.png" />
										</template>
									</div>
									<div v-if="
                      item.statusZ == 7 &&
                        item.statusG == 1 &&
                        item.asdOpenBlock == 1
                    ">
										<!--最高等级的下标是开门遇阻并且存在故障并且开门遇阻是1-->
										<template v-if="item.doorType == 3">
											<template v-if="item.lCB6MarshallInfo == 1">
												<img src="@/assets/img/add1/kmyz-L.png" />
											</template>
											<template v-else-if="item.lCB8MarshallInfo == 1">
												<img src="@/assets/img/add1/kmyz-R.png" />
											</template>
											<template v-else>
												<img src="@/assets/img/add1/kmyz-L.png" />
											</template>
										</template>
										<template v-else>
											<img src="@/assets/img/kmyz.png" />
										</template>
									</div>
									<div v-if="
                      item.statusZ == 8 &&
                        item.statusG == 1 &&
                        item.asdCloseBlock == 1
                    ">
										<!--最高等级的下标是关门遇阻并且存在故障并且关门遇阻是1-->
										<template v-if="item.doorType == 3">
											<template v-if="item.lCB6MarshallInfo == 1">
												<img src="@/assets/img/add1/gmyz-L.png" />
											</template>
											<template v-else-if="item.lCB8MarshallInfo == 1">
												<img src="@/assets/img/add1/gmyz-R.png" />
											</template>
											<template v-else>
												<img src="@/assets/img/add1/gmyz-L.png" />
											</template>
										</template>
										<template v-else>
											<img src="@/assets/img/gmyz.png" />
										</template>
										
									</div>
									<div v-if="item.statusG == 1 && item.status == 0">
										<!--链路故障数据-->
										<template v-if="item.doorType == 3">
											<template v-if="item.lCB6MarshallInfo == 1">
												<img src="@/assets/img/add1/guanbidaowei1-L.png" />
											</template>
											<template v-else-if="item.lCB8MarshallInfo == 1">
												<img src="@/assets/img/add1/guanbidaowei1-R.png" />
											</template>
											<template v-else>
												<img src="@/assets/img/add1/guanbidaowei1-L.png" />
											</template>
										</template>
										<template v-else>
											<img src="@/assets/img/guanbidaowei1.png" />
										</template>
									</div>
									<div v-if="
                      item.doorType == 0 &&
                        item.statusZ == null &&
                        (item.status == -1 || item.status == null)
                    ">
										<!--端门初始-->
										<img src="@/assets/img/duanmen.png" />
									</div>
									<div v-if="
                      item.doorType == 0 &&
                        item.statusZ == null &&
                        item.status == 0
                    ">
										<!--端门显示锁闭-->
										<img src="@/assets/img/duanmen1.png" />
									</div>
									<div v-if="
                      item.doorType == 0 &&
                        item.statusZ == null &&
                        item.status == 1
                    ">
										<!--端门显示未锁闭 -->
										<img src="@/assets/img/dmgz.png" />
									</div>
									<div v-if="(item.doorType == 1 || item.doorType == 3) && item.statusZ == null">
										<!--滑动门没有推送数据-->
										<img src="@/assets/img/guanbidaowei1.png" />
									</div>
									<!--司机门状态-->
									<div v-if="item.doorType == 4 && item.status == 0">
										<img src="@/assets/img/yjm.png" />
									</div>
									<div v-if="item.doorType == 4 && item.status == 1">
										<img src="@/assets/img/yjqgz.png" />
									</div>
									<!-- 全高应急门左右 -->
									<div v-if="
                      item.doorType == 2 &&
                        item.statusZ == null &&
                        item.type == 0 &&
                        ((item.statuslf == 0 && item.statusrg == 0) ||
                          item.statuslf == null)
                    ">
										<!--应急门没有推送数据-->
										<img src="@/assets/img/yjm.png" />
									</div>
									<div v-if="
                      item.doorType == 2 &&
                        item.statusZ == null &&
                        item.type == 0 &&
                        item.statuslf == 1 &&
                        item.statusrg == 1
                    ">
										<!--应急门左右都未锁闭-->
										<img src="@/assets/img/yjqgz.png" />
									</div>
									<div v-if="
                      item.doorType == 2 &&
                        item.statusZ == null &&
                        item.type == 0 &&
                        item.statuslf == 1 &&
                        item.statusrg == 0
                    ">
										<!--应急门左门未锁闭-->
										<img src="@/assets/img/leftdoor.png" />
									</div>
									<div v-if="
                      item.doorType == 2 &&
                        item.statusZ == null &&
                        item.type == 0 &&
                        item.statuslf == 0 &&
                        item.statusrg == 1
                    ">
										<!--应急门右门未锁闭-->
										<img src="@/assets/img/rightdoor.png" />
									</div>
									<!-- 半高应急门不分左右-->
									<div v-if="
                      item.doorType == 2 &&
                        item.statusZ == null &&
                        item.type == 1 &&
                        ((item.statuslf == 0 && item.statusrg == 0) ||
                          item.statuslf == null)
                    ">
										<!--应急门没有推送数据-->
										<img src="@/assets/img/yjmbg.png" />
									</div>
									<div v-if="
                      item.doorType == 2 &&
                        item.statusZ == null &&
                        item.type == 1 &&
                        (item.statuslf == 1 || item.statusrg == 1)
                    ">
										<!--应急门未锁闭-->
										<img src="@/assets/img/yjbgz.png" />
									</div>
								</el-badge>
							</div>
						</div>
						<div class="homeSH1" v-else>
							<div class="homeSH2"
								style="width: 100%;font-size: 16px;font-weight: 600;color:rgba(166, 166, 166, 1)">
								本站暂无门配置信息
							</div>
						</div>
					</div>
				</el-col>
			</el-row>
			<el-row>
				<el-col :span="24">
					<div class="homeSH homeSHM">
						<div class="homeTuTxt">下行命令</div>
						<div class="homeTuStList">
							<div class="homeTuStList1">
								<p class="homeTuStList11">IBP命令</p>
								<el-popover v-if="IBPWaringContentDown" popper-class="homePoper" placement="top-start"
									width="200" trigger="hover" :visible-arrow="false" :content="IBPWaringContentDown">
									<img slot="reference" class="homewarn" src="@/assets/img/warn.png" />
								</el-popover>
								<div class="homeTuStList12">
									<div class="homeTuStList13" v-for="item in IBPList1" :class="[
                      item.status == 0
                        ? ''
                        : item.status == 1
                        ? 'IBPactive'
                        : '',
                      pslNum == 3 ? 'PSLNew2' : '',
                    ]">
										{{ item.name }}
									</div>
								</div>
							</div>
							<div class="homeTuStList2" :class="pslNum == 3 ? 'PSLW' : ''" v-for="item in pslNum">
								<div style="height: 100%;" v-if="item == 1">
									<p class="homeTuStList11">PSL{{ item }}命令</p>
									<el-popover v-if="PSLWaringContentDown1" popper-class="homePoper"
										placement="top-start" width="200" trigger="hover" :visible-arrow="false"
										:content="PSLWaringContentDown1">
										<img slot="reference" class="homewarn" src="@/assets/img/warn.png" />
									</el-popover>
									<div class="homeTuStList12" :class="pslNum == 3 ? 'PSL12' : ''">
										<div class="homeTuStList13" v-for="(item, index) in PSLList1Down" :class="[
                        item.status == 0
                          ? ''
                          : item.status == 1 &&
                            (index == 0 || index == 2 || index == 4)
                          ? 'IBPactive'
                          : item.status == 1 &&
                            (PSLList1Down[0].status == 1 ||
                              PSLList1Down[2].status == 1) &&
                            (index == 1 || index == 3 || index == 5)
                          ? 'IBPactive'
                          : '',
                        pslNum == 3 ? 'PSLNew' : '',
                      ]">
											{{ item.name }}
										</div>
									</div>
								</div>
								<div style="height: 100%;" v-if="item == 2">
									<p class="homeTuStList11">PSL{{ item }}命令</p>
									<el-popover v-if="PSLWaringContentDown2" popper-class="homePoper"
										placement="top-start" width="200" trigger="hover" :visible-arrow="false"
										:content="PSLWaringContentDown2">
										<img slot="reference" class="homewarn" src="@/assets/img/warn.png" />
									</el-popover>
									<div class="homeTuStList12" :class="pslNum == 3 ? 'PSL12' : ''">
										<div class="homeTuStList13" v-for="(item, index) in PSLList2Down" :class="[
                        item.status == 0
                          ? ''
                          : item.status == 1 &&
                            (index == 0 || index == 2 || index == 4)
                          ? 'IBPactive'
                          : item.status == 1 &&
                            (PSLList2Down[0].status == 1 ||
                              PSLList2Down[2].status == 1) &&
                            (index == 1 || index == 3 || index == 5)
                          ? 'IBPactive'
                          : '',
                        pslNum == 3 ? 'PSLNew' : '',
                      ]">
											{{ item.name }}
										</div>
									</div>
								</div>
								<div style="height: 100%;" v-if="item == 3">
									<p class="homeTuStList11">PSL{{ item }}命令</p>
									<el-popover v-if="PSLWaringContentDown3" popper-class="homePoper"
										placement="top-start" width="200" trigger="hover" :visible-arrow="false"
										:content="PSLWaringContentDown3">
										<img slot="reference" class="homewarn" src="@/assets/img/warn.png" />
									</el-popover>
									<div class="homeTuStList12" :class="pslNum == 3 ? 'PSL12' : ''">
										<div class="homeTuStList13" v-for="(item, index) in PSLList3Down" :class="[
                        item.status == 0
                          ? ''
                          : item.status == 1 &&
                            (index == 0 || index == 2 || index == 4)
                          ? 'IBPactive'
                          : item.status == 1 &&
                            (PSLList3Down[0].status == 1 ||
                              PSLList3Down[2].status == 1) &&
                            (index == 1 || index == 3 || index == 5)
                          ? 'IBPactive'
                          : '',
                        pslNum == 3 ? 'PSLNew' : '',
                      ]">
											{{ item.name }}
										</div>
									</div>
								</div>
							</div>
							<div class="homeTuStList1 homeTuStList3" :class="pslNum == 3 ? 'SIGWidth' : ''">
								<p class="homeTuStList11">SIG命令</p>
								<div class="homeTuStList12 SIGList" :class="pslNum == 3 ? 'PSL12' : ''">
									<div class="homeTuStList13" v-for="item in SIGList1" :class="[
                      item.status == 0
                        ? ''
                        : item.status == 1
                        ? 'IBPactive'
                        : '',
                      pslNum == 3 ? 'PSLNew1' : '',
                    ]">
										{{ item.name }}
									</div>
								</div>
							</div>
							<div class="homeTuStList2" :class="pslNum == 3 ? 'PSCWidth' : 'PSCWidth1'">
								<p class="homeTuStList11">PSC信息</p>
								<el-popover v-if="PSCWaringContentDown" popper-class="homePoper" placement="top-start"
									width="200" trigger="hover" :visible-arrow="false" :content="PSCWaringContentDown">
									<img slot="reference" class="homewarn" src="@/assets/img/warn.png" />
								</el-popover>
								<div class="homeTuStList12" :class="pslNum == 3 ? 'PSL12' : ''">
									<button class="homeTuStList13 PSLBtn" @click="safeContentShow(index, 1,item.status)" :style="{visibility: item.status == -2 ? 'hidden' : 'visible'}"
										v-for="(item, index) in PSCList1" :class="[
                      						item.status == 0 &&
                      						index !== 3 &&
                      						index !== 4 &&
                      						index !== 5
                        					? ''
                        					: item.status == 1 &&
                          					index !== 3 &&
                          					index !== 4 &&
                          					index !== 5
                        					? 'IBPactive'
                        					: '',
                      						(item.status == 0 && index == 3) ||
                      						(item.status == 0 && index == 4) ||
                      						(item.status == 0 && index == 5)
                        					? 'IBPactive'
                        					: (item.status == 1 && index == 3) ||
                          					(item.status == 1 && index == 4) ||
                          					(item.status == 1 && index == 5)
                        					? 'active'
                        					: (item.status == 2 && index == 6)|| (item.status == 2 && index == 7)?'active safeBtn':'',
                      						item.status == 1 && index == 3 ? 'safeBtn' : '',
                     						pslNum == 3 ? 'PSLNew3' : '',
                      						item.status == -1 && index == 3 ? '' : '',
                    					]">
											{{ item.name}}
											<span v-if="item.status == 1 && index == 3">异常</span>
									</button>
								</div>
							</div>
						</div>
					</div>
				</el-col>
			</el-row>
		</div>
		<div class="doorBaseInfo" v-if="doorStatus" :style="sty" @mouseenter="tanchuangmouse"
			@mouseout="tanchuangmouse1">
			<div class="doorBaseInfoH">
				<div>
					<span class="doorBaseInfoH1">DCU编号：</span><span class="doorBaseInfoH2">{{ doorNum }}</span>
				</div>
				<div>
					<span>站台侧：</span><span>{{ doorDe }}</span>
				</div>
			</div>
			<div class="doorBaseInfoC">
				<div class="doorBaseInfolf" v-if="Tstatus">
					<div v-for="(item, index) in doorBaseInfoC1" :class="[
              item.status == 0 ? '' : item.status == 1 ? 'doorBaseInfoNA' : '',
            ]" class="doorBaseInfoN1" :style="
              index == '5' || index == '6' ? 'opacity:0;width:0;padding:0' : ''
            ">
						{{ item.name }}
					</div>
				</div>
				<div class="doorBaseInfoRg" v-if="Gstatus">
					<div v-for="(item, index) in doorBaseInfoC2" :class="
              item.status == 2
                ? 'doorBaseInfoNB'
                : downStatus == '全高'
                ? 'doorBaseInfoNG1'
                : ''
            " class="doorBaseInfoN1 doorBaseInfoNG">
						<span v-if="downStatus == '全高' && index == 4">电磁锁故障</span>
						<span v-else>{{ item.name }}</span>
					</div>
				</div>
				<!-- 端门显示 -->
				<div class="doorBaseInfolf" v-if="dmStatus">
					<div v-if="dm1Status == 0" class="doorBaseInfoN1 doorBaseInfoNA">
						锁闭
					</div>
					<div v-if="dm1Status == 1" class="doorBaseInfoN1 doorBaseInfoNB">
						未锁闭
					</div>
				</div>
				<!-- 应急门显示 -->
				<div class="doorBaseInfolf" v-if="yjStatus">
					<div v-if="downStatus == '半高'" style="width: 100%;">
						<div style="margin-bottom: 10px;">
							<div v-if="yjStatus1 == 0" class="doorBaseInfoN1 doorBaseInfoNA">
								闭合
							</div>
							<div v-if="yjStatus1 == 1" class="doorBaseInfoN1 doorBaseInfoNB">
								断开
							</div>
						</div>
						<div style="width: 100%;display:flex;align-items: center;justify-content: center;">
							<div class="doorBaseInfoN3">应急门旁路状态</div>
							<div v-if="yjmplStatus == 0" class="doorBaseInfoN1 doorBaseInfoNA"
								style="width: 100%;margin-top: 10px;">
								正常
							</div>
							<div v-else class="doorBaseInfoN1 doorBaseInfoNB" style="width: 100%;margin-top: 10px;">
								旁路
							</div>
						</div>
					</div>
					<div v-if="downStatus == '全高'" style="width: 100%;">
						<div style="width: 100%;display:flex;align-items: center;">
							<div class="doorBaseInfoNTxt">左</div>
							<div v-if="yjStatus1 == 0" class="doorBaseInfoN1 doorBaseInfoNA">
								闭合
							</div>
							<div v-if="yjStatus1 == 1" class="doorBaseInfoN1 doorBaseInfoNB">
								断开
							</div>
							<div class="doorBaseInfoNTxt">右</div>
							<div v-if="yjStatus2 == 0" class="doorBaseInfoN1 doorBaseInfoNA">
								闭合
							</div>
							<div v-if="yjStatus2 == 1" class="doorBaseInfoN1 doorBaseInfoNB">
								断开
							</div>
						</div>

						<div style="width: 100%;display:flex;align-items: center;justify-content: center;">
							<div class="doorBaseInfoN3">应急门旁路状态</div>
							<div v-if="yjmplStatus == 0" class="doorBaseInfoN1 doorBaseInfoNA"
								style="width: 100%;margin-top: 10px;">
								正常
							</div>
							<div v-else class="doorBaseInfoN1 doorBaseInfoNB" style="width: 100%;margin-top: 10px;">
								旁路
							</div>
						</div>
					</div>
				</div>
			</div>
		</div>
		<div class="tipContent" v-if="tipStatus">
			<div class="tipsTxt">
				<div class="merquee">
					<span class="merquee-txt">{{ msg }}</span>
				</div>
				<!-- {{msg}} -->
				<!-- <marquee id="msg11" :val="msg"></marquee> -->
			</div>
		</div>
		<!-- 安全回路的弹窗显示 -->
		<safeContent v-if="safeStatus" ref="safeContent" :safeList="doorListSafe" :safeListNew="doorListDownSafe">
		</safeContent>
	</el-card>
</template>
<script>
	import utils from "@/utils/utils";
	import {
		getOrder,
		getStep
	} from "@/utils";
	import Cookies from "js-cookie";
	import safeContent from "./safeContent.vue";
	import doorInfo from "../doorInfo/index.vue"
	export default {
		inject: ["reload"],
		components: {
			safeContent
		},
		data() {
			return {
				stationName: Cookies.get("lineStationName"), //首页头部显示
				upStatus: "", //上行全高还是半高
				downStatus: "", //下行全高还是半高
				pslNum: Number(Cookies.get("pslNum")),
				homeTuStListAll: utils.homeTuStListAll,
				homeTuStListAll1: utils.homeTuStListAll1, //用于状态栏弹窗中的数据显示
				homeDianList: utils.homeDianList,
				activeIndex: 0,
				Tstatus: false, //状态显示
				Gstatus: false, //故障显示
				dmStatus: false, //端门显示
				dm1Status: -1, //端门的状态值
				yjStatus: false, //应急门的显示
				yjStatus1: -1, //应急门的状态值
				yjStatus2: -1, //应急门的状态值
				doorStatus: false, //故障显示弹窗
				doorList: [], //上行
				doorListDown: [], //下行
				avaNum: "", //数组的平均值
				avaNumD: "", //下行的数组的平均值
				IBPList: utils.IBPList,
				IBPList1: utils.IBPList1,
				PSLList1Up: utils.PSLList1Up,
				PSLList2Up: utils.PSLList2Up,
				PSLList3Up: utils.PSLList3Up,
				PSLList1Down: utils.PSLList1Down,
				PSLList2Down: utils.PSLList2Down,
				PSLList3Down: utils.PSLList3Down,
				PSCList: utils.PSCList,
				PSCList1: utils.PSCList1,
				SIGList: utils.SIGList,
				SIGList1: utils.SIGList1,
				doorNum: "", //门的数量
				doorDe: "",
				doorBaseInfoC1: [],
				doorBaseInfoC2: utils.doorBaseInfoC2,
				doorIndex: "", //当前门的下标
				doorDeNum: -1, //当前弹窗门的方向
				mouse_x: "", //鼠标的x轴
				mouse_y: "", //鼠标的y轴
				sty: {
					top: "",
					left: "",
				}, //门弹窗的位置
				tipStatus: false, //psc显示
				msg: "",
				yjNum: "", //应急门的数量
				IBPWaringContent: "", //IBP的预警--上行
				IBPWaringContentDown: "", //IBP的预警----下行
				PSLWaringContent1: "", //PSL1命令的预警-----上行
				PSLWaringContent2: "", //PSL2命令的预警-----上行
				PSLWaringContent3: "", //PSL3命令的预警-----上行
				PSLWaringContentDown1: "", //PSL1命令的预警-----下行
				PSLWaringContentDown2: "", //PSL2命令的预警-----下行
				PSLWaringContentDown3: "", //PSL3命令的预警-----下行
				PSCWaringContent: "", //PSC命令----上行
				PSCWaringContentDown: "", //PSC命令的预警----下行
				yjmplStatus: -1, //应急门旁路状态
				yjmplStatus1: -1, //应急门旁路状态----右门
				dialogStatus: false, //鼠标是否滑过
				safeStatus: false, //安全回路的弹窗显示
				doorListSafe: [],
				doorListDownSafe: [],
				stepUp: 0, //上行门的step值
				stepDown: 0, //下行门的step值
				secUpOrder: "", //上行安全回路的顺序
				secDownOrder: "", //下行安全回路的顺序
			};
		},
		activated() {
			this.init();
		},
		mounted() {
			window.addEventListener("onmessageWS", this.getSocketData);
		},
		destroyed() {
			window.removeEventListener("onmessageWS", this.getSocketData);
		},
		watch: {
			//监听数组的变化，从而弹窗的灯变化
			doorList: {
				handler(newval, oldval) {
					if (this.doorDeNum == 1 && (newval[this.doorIndex].doorType == 1 || newval[this.doorIndex].doorType == 3)) {
						this.dmStatus = false;
						this.yjStatus = false;
						if (
							newval[this.doorIndex] !== undefined &&
							newval[this.doorIndex].statusG == 1
						) {
							// 故障显示
							this.Gstatus = true;
							this.Tstatus = false;
							if (
								newval[this.doorIndex].statusGList !== undefined &&
								newval[this.doorIndex].statusGList.length !== 0
							) {
								//重新赋值
								this.doorBaseInfoC2.forEach((item) => {
									item.status = 0;
								});
								newval[this.doorIndex].statusGList.forEach((itemG) => {
									this.$set(this.doorBaseInfoC2[itemG.statusGIndex], "status", 2);
								});
							}
						} else {
							this.Gstatus = false;
							this.Tstatus = true;
							if (
								newval[this.doorIndex].statusList !== undefined &&
								newval[this.doorIndex].statusList.length !== 0
							) {
								//重新赋值
								this.doorBaseInfoC1.forEach((item) => {
									item.status = 0;
								});
								newval[this.doorIndex].statusList.forEach((item) => {
									this.doorBaseInfoC1.forEach((val, index) => {
										if (
											item.statusZ == val.key &&
											item.statusZ !== 7 &&
											item.statusZ !== 8
										) {
											this.$set(this.doorBaseInfoC1[index], "status", 1);
											// this.doorBaseInfoC1[index].status = 1
										} else if (
											item.statusZ == val.key &&
											(item.statusZ == 7 || item.statusZ == 8)
										) {
											this.$set(this.doorBaseInfoC1[index], "status", 0);
										}
									});
								});
							}
						}
					} else if (
						this.doorDeNum == 1 &&
						newval[this.doorIndex].doorType == 0
					) {
						//端门数组的变化
						this.dmStatus = true;
						this.yjStatus = false;
						this.Gstatus = false;
						this.Tstatus = false;
						this.dm1Status = newval[this.doorIndex].status;
					} else if (
						this.doorDeNum == 1 &&
						newval[this.doorIndex].doorType == 2
					) {
						//应急门数组的变化
						this.dmStatus = false;
						this.yjStatus = true;
						this.Gstatus = false;
						this.Tstatus = false;
						this.yjStatus1 = newval[this.doorIndex].statuslf;
						this.yjStatus2 = newval[this.doorIndex].statusrg;
						this.yjmplStatus = newval[this.doorIndex].statusyjmpl;
					}
				},
				deep: true,
			},
			doorListDown: {
				handler(newval, oldval) {
					if (this.doorDeNum == 0 && (newval[this.doorIndex].doorType == 1 || newval[this.doorIndex].doorType == 3)) {
						this.dmStatus = false;
						this.yjStatus = false;
						if (
							newval[this.doorIndex] !== null &&
							newval[this.doorIndex].statusG == 1
						) {
							// 故障显示
							this.Gstatus = true;
							this.Tstatus = false;
							if (
								newval[this.doorIndex].statusGList !== undefined &&
								newval[this.doorIndex].statusGList.length !== 0
							) {
								//重新赋值
								this.doorBaseInfoC2.forEach((item) => {
									item.status = 0;
								});
								newval[this.doorIndex].statusGList.forEach((itemG) => {
									this.$set(this.doorBaseInfoC2[itemG.statusGIndex], "status", 2);
								});
							}
						} else {
							this.Gstatus = false;
							this.Tstatus = true;
							if (
								newval[this.doorIndex].statusList !== undefined &&
								newval[this.doorIndex].statusList.length !== 0
							) {
								//重新赋值
								this.doorBaseInfoC1.forEach((item) => {
									item.status = 0;
								});
								newval[this.doorIndex].statusList.forEach((item) => {
									this.doorBaseInfoC1.forEach((val, index) => {
										if (
											item.statusZ == val.key &&
											item.statusZ !== 7 &&
											item.statusZ !== 8
										) {
											this.$set(this.doorBaseInfoC1[index], "status", 1);
											// this.doorBaseInfoC1[index].status = 1
										} else if (
											item.statusZ == val.key &&
											(item.statusZ == 7 || item.statusZ == 8)
										) {
											this.$set(this.doorBaseInfoC1[index], "status", 0);
										}
									});
								});
							}
						}
					} else if (
						this.doorDeNum == 0 &&
						newval[this.doorIndex].doorType == 0
					) {
						//端门数组的变化
						this.dmStatus = true;
						this.yjStatus = false;
						this.Gstatus = false;
						this.Tstatus = false;
						this.dm1Status = newval[this.doorIndex].status;
					} else if (
						this.doorDeNum == 0 &&
						newval[this.doorIndex].doorType == 2
					) {
						//应急门数组的变化
						this.dmStatus = false;
						this.yjStatus = true;
						this.Gstatus = false;
						this.Tstatus = false;
						this.yjStatus1 = newval[this.doorIndex].statuslf;
						this.yjStatus2 = newval[this.doorIndex].statusrg;
						this.yjmplStatus = newval[this.doorIndex].statusyjmpl;
					}
				},
				deep: true,
			},
		},
		methods: {
			//获取系统的初始状态值
			init() {
				this.doorListSafe = [];
				this.doorListDownSafe = [];
				//获取系统信息
				var p = new Promise((resolve, reject) => {
					this.getSystemData(() => {
						resolve();
					});
				});
				var p0 = new Promise((resolve, reject) => {
					this.getdoorList(() => {
						resolve();
					});
				});
				Promise.all([p, p0]).then(() => {
					this.handleMsg();
				});
			},
			//获取系统信息
			getSystemData(callback) {
				this.$http.get(`/psc/systemshow/getSimpleInfo`).then((res) => {
					if (res.data.code == 0) {
						Cookies.set("systemname", res.data.data.name);
						Cookies.set("background", res.data.data.background);
						Cookies.set(
							"lineStationName",
							res.data.data.lineName + res.data.data.stationName
						);
						Cookies.set("pslNum", res.data.data.pslNum);
						this.stationName = res.data.data.lineName + res.data.data.stationName;
						this.secUpOrder = res.data.data.secUpOrder;
						this.secDownOrder = res.data.data.secDownOrder;
						callback();
					}
				});
			},
			// 获取门的信息
			getdoorList(callback) {
				this.doorListSafe = [];
				this.doorListDownSafe = [];
				this.$http.get("/psc/door/getDoor").then((res) => {
					this.doorList = res.data.data.up;
					this.doorListDown = res.data.data.down;
					//获取上下行数据要增加和减少的值-----2023年5月26日----添加正序和倒叙的逻辑
					this.stepUp = getStep(this.doorList);
					this.stepDown = getStep(this.doorListDown);
					// console.log( this.stepUp,this.stepDown,'上下行的step的值')
					//获取上下行数据要增加和减少的值-----2023年5月26日
					// 安全回路的数据// 2023年4月21新增
					res.data.data.up.forEach((item) => {
						if ((item.doorType == 1) || (item.doorType == 2) || (item.doorType == 3)) {
							var obj = {
								dcu: item.dcu,
								collection1: -1,
								collection2: -1,
							};
							this.doorListSafe.push(obj);
						}
					});
					res.data.data.down.forEach((item) => {
						if ((item.doorType == 1) || (item.doorType == 2) || (item.doorType == 3)) {
							var obj = {
								dcu: item.dcu,
								collection1: -1,
								collection2: -1,
							};
							this.doorListDownSafe.push(obj);
						}
					});
					// 2023年4月21新增
					if (this.doorList[0]) {
						Cookies.set("type", this.doorList[0].type);
						if (this.doorList[0].type == 0 && this.doorList[0].stationSide == 1) {
							this.upStatus = "全高";
						} else if (
							this.doorList[0].type == 1 &&
							this.doorList[0].stationSide == 1
						) {
							this.upStatus = "半高";
						}
					}
					if (this.doorListDown[0]) {
						if (
							this.doorListDown[0].type == 0 &&
							this.doorListDown[0].stationSide == 0
						) {
							this.downStatus = "全高";
						} else if (
							this.doorListDown[0].type == 1 &&
							this.doorListDown[0].stationSide == 0
						) {
							this.downStatus = "半高";
						}
					}
					var num = this.doorList.length;
					var numD = this.doorListDown.length;
					var yjDoor = [];
					// 应急门的数量
					this.doorList.forEach((item) => {
						if (item.doorType == 2) {
							yjDoor.push(item);
						}
					});
					this.yjNum = yjDoor.length; //应急门的数量
					// 判断上行门的奇数还有偶数
					if (num % 2 == 0) {
						var obj = {
							dcu: "0",
							doorType: -1,
						};
						this.avaNum = num / 2;
						this.doorList.splice(this.avaNum, 0, obj);
					} else {
						// 如果门的数量是基数
						var obj = {
							dcu: "0",
							doorType: -1,
						};
						var numNew = num + 1;
						this.avaNum = numNew / 2;
						this.doorList.splice(this.avaNum, 0, obj);
					}
					// 判断下行门的奇数还有偶数
					if (numD % 2 == 0) {
						var obj = {
							dcu: "0",
							doorType: -1,
						};
						this.avaNumD = numD / 2;
						this.doorListDown.splice(this.avaNumD, 0, obj);
					} else {
						// 如果门的数量是基数
						var obj = {
							dcu: "0",
							doorType: -1,
						};
						var numNew = num + 1;
						this.avaNumD = numNew / 2;
						this.doorListDown.splice(this.avaNumD, 0, obj);
					}
					callback();
				});
			},
			getSocketData(res) {
				if (res.detail.data) {
					//this.init();
				}
			},
			//接收websocket数据
			handleMsg() {
				this.$globalWebSocket.ws.send("psc");
				this.$globalWebSocket.ws.onmessage = this.getMessage;
			},
			//获取websocket数据
			getMessage(e) {
				var message = JSON.parse(e.data);
				//正常的
				this.tipStatus = false;
				if (message.taskStatus == 1) {
					// A宕机
					this.PSCList[4].status = 1; //PEDCA通讯
					this.PSCList[5].status = 0; //PEDCB通讯
					this.PSCList1[4].status = 1; //PEDCA通讯
					this.PSCList1[5].status = 0; //PEDCB通讯
				} else if (message.taskStatus == 2) {
					//B宕机
					this.PSCList[4].status = 0; //PEDCA通讯
					this.PSCList[5].status = 1; //PEDCB通讯
					this.PSCList1[4].status = 0; //PEDCA通讯
					this.PSCList1[5].status = 1; //PEDCB通讯
				} else if (message.taskStatus == 3) {
					this.tipStatus = true;
					this.PSCList[4].status = 1; //PEDC通讯
					this.PSCList[5].status = 1; //PEDC通讯
					this.PSCList1[4].status = 1; //PEDC通讯
					this.PSCList1[5].status = 1; //PEDC通讯
					this.msg = "PEDC命令断开,正在重新连接";
				} else {
					this.PSCList[4].status = 0; //PEDCA通讯
					this.PSCList[5].status = 0; //PEDCB通讯
					this.PSCList1[4].status = 0; //PEDCA通讯
					this.PSCList1[5].status = 0; //PEDCB通讯
				}
				// message.upLink.sysAsd.LCB6MarshallInfo = "00000000000000000000000000000000000000000"
				// message.upLink.sysAsd.LCB8MarshallInfo = "10000000000000000000000000000000000000000"
				//message.downLink.sysAsd.LCB6MarshallInfo = "10000000000000000000000000000000000000000"
				// message.downLink.sysAsd.LCB8MarshallInfo = "10000000000000000000000000000000000000000"
				//message.upLink.sysAsd.asdClosed = "00000000000000001111111111111111"
				//滑动门的状态信息------SysAsd(传输字符串)
				// 上行滑动门的状态
				var door1 = message.upLink.sysAsd.asdOpen; //开门到位
				var door2 = message.upLink.sysAsd.asdClosed; //关门到位
				var door3 = message.upLink.sysAsd.asdCloseLocked; //关闭锁紧
				var door4 = message.upLink.sysAsd.asdManualUnlock; //手动解锁
				var door5 = message.upLink.sysAsd.asdLcbSeparate; //LCB隔离状态
				var door6 = message.upLink.sysAsd.asdClosing; //关门过程中
				var door7 = message.upLink.sysAsd.asdOpening; //开门过程中
				var door8 = message.upLink.sysAsd.asdOpenBlock; //开门遇阻
				var door9 = message.upLink.sysAsd.asdCloseBlock; //关门遇阻
				var door101 = message.upLink.sysAsd.asdTrainFaultSeparateStation; //列车隔离站台门--属于故障
				var door102 = message.upLink.sysAsd.asdStationFaultSeparateTrain; //站台隔离列车门--属于故障
				var door103 = message.upLink.sysAsd.LCB6MarshallInfo; //6B标识
				var door104 = message.upLink.sysAsd.LCB8MarshallInfo; //8B标识
				var drive1 = message.upLink.sysDd.driverDoor; //驾驶员门状态

				// 下行滑动门的状态
				var door11 = message.downLink.sysAsd.asdOpen; //开门到位
				var door22 = message.downLink.sysAsd.asdClosed; //关门到位
				var door33 = message.downLink.sysAsd.asdCloseLocked; //关闭锁紧
				var door44 = message.downLink.sysAsd.asdManualUnlock; //手动解锁
				var door55 = message.downLink.sysAsd.asdLcbSeparate; //LCB隔离状态
				var door66 = message.downLink.sysAsd.asdClosing; //关门过程中
				var door77 = message.downLink.sysAsd.asdOpening; //开门过程中
				var door88 = message.downLink.sysAsd.asdOpenBlock; //开门遇阻
				var door99 = message.downLink.sysAsd.asdCloseBlock; //关门遇阻
				var door111 = message.downLink.sysAsd.asdTrainFaultSeparateStation; //列车隔离站台门--属于故障
				var door112 = message.downLink.sysAsd.asdStationFaultSeparateTrain; //站台隔离列车门--属于故障
				var door113 = message.downLink.sysAsd.LCB6MarshallInfo; //6B标识
				var door114 = message.downLink.sysAsd.LCB8MarshallInfo; //8B标识
				var drive2 = message.downLink.sysDd.driverDoor; //驾驶员门状态


				// 端门信息
				var dm1 = message.upLink.sysMsd.endHeadDoor; //端头门锁闭
				var dm2 = message.upLink.sysMsd.endTailDoor; //端尾门锁闭
				var dm11 = message.downLink.sysMsd.endHeadDoor; //端头门锁闭
				var dm22 = message.downLink.sysMsd.endTailDoor; //端尾门锁闭
				//上下行应急门信息1-8
				var yjInfo = [];
				var yjrInfo = [];
				var yjInfo1 = [];
				var yjrInfo1 = [];
				for (var i = 0; i < this.yjNum; i++) {
					var edata = this.getEnglish(i + 1);
					yjInfo.push(message.upLink.sysEed[`${edata}` + "EedLeft"]);
					yjrInfo.push(message.upLink.sysEed[`${edata}` + "EedRight"]);
				}
				for (var i = 0; i < this.yjNum; i++) {
					var edata = this.getEnglish(i + 1);
					yjInfo1.push(message.downLink.sysEed[`${edata}` + "EedLeft"]);
					yjrInfo1.push(message.downLink.sysEed[`${edata}` + "EedRight"]);
				}

				var yjmpl = message.upLink.sysEed.emergencyDoorBypassSwitch; //上行应急门旁路开关
				var yjmpldown = message.downLink.sysEed.emergencyDoorBypassSwitch; //下行应急门旁路开关
				//门的故障----电磁锁故障，电机驱动器故障对应DCU没有值
				var g1 = message.upLink.sysAsd.asdOpenBlock; //开门遇阻
				var g2 = message.upLink.sysAsd.asdCloseBlock; //关门遇阻
				var g3 = message.upLink.sysAsd.asdOpenFaultAlarm; //开门故障
				var g4 = message.upLink.sysAsd.asdCloseFaultAlarm; //关门故障
				var g5 = this.GLInfo(this.doorList, message.dcuMap, 1); //左电磁锁故障
				var g6 = this.GLInfo(this.doorList, message.dcuMap, 2); //右电磁锁故障
				var g7 = this.GLInfo(this.doorList, message.dcuMap, 0); //电机驱动器温度异常故障

				var t1 = this.GLInfo(this.doorList, message.dcuMap, 3); //自学习状态
				var t2 = this.GLInfo(this.doorList, message.dcuMap, 4); //有无应急门

				var g8 = this.GLInfo(this.doorList, message.dcuMap, 8); //DCU CAN网0中断
				var g9 = this.GLInfo(this.doorList, message.dcuMap, 9); //DCU CAN网0中断
				var g88 = this.GLInfo(this.doorListDown, message.dcuMap, 8); //DCU CAN网0中断
				var g99 = this.GLInfo(this.doorListDown, message.dcuMap, 9); //DCU CAN网1中断
				// for (var i = 0; i < 41; i++) {
				// 	g8.push(message.upLink.sysPscCenterControlPanel.bus1FaultAlarm) // DCU CAN网0中断
				// 	g9.push(message.upLink.sysPscCenterControlPanel.bus2FaultAlarm) // DCU CAN网1中断
				// 	g88.push(message.downLink.sysPscCenterControlPanel.bus1FaultAlarm) // DCU CAN网0中断
				// 	g99.push(message.downLink.sysPscCenterControlPanel.bus2FaultAlarm) // DCU CAN网1中断
				// }
				var g10 = this.GLInfo(this.doorList, message.dcuMap, 5); //CAN A系通信故障
				var g111 = this.GLInfo(this.doorList, message.dcuMap, 6); //CAN B系通信故障
				var g113 = this.GLInfo(this.doorList, message.dcuMap, 7); //应用代码

				var g11 = message.downLink.sysAsd.asdOpenBlock; //开门遇阻
				var g22 = message.downLink.sysAsd.asdCloseBlock; //关门遇阻
				var g33 = message.downLink.sysAsd.asdOpenFaultAlarm; //开门故障
				var g44 = message.downLink.sysAsd.asdCloseFaultAlarm; //关门故障
				var g55 = this.GLInfo(this.doorListDown, message.dcuMap, 1, 0); //左电磁锁故障
				var g66 = this.GLInfo(this.doorListDown, message.dcuMap, 2, 0); //右电磁锁故障
				var g77 = this.GLInfo(this.doorListDown, message.dcuMap, 0, 0); //电机驱动器温度异常故障

				var t11 = this.GLInfo(this.doorListDown, message.dcuMap, 3, 0); //自学习状态
				var t22 = this.GLInfo(this.doorListDown, message.dcuMap, 4, 0); //有无应急门

				var g101 = this.GLInfo(this.doorListDown, message.dcuMap, 5); //CAN A系通信故障
				var g112 = this.GLInfo(this.doorListDown, message.dcuMap, 6); //CAN B系通信故障
				var g114 = this.GLInfo(this.doorListDown, message.dcuMap, 7); //应用代码
				
				// 判断一下上下行门是否倒叙
				var upArrdown = getOrder(this.doorList);
				var downArrdown = getOrder(this.doorListDown);
				var obj = {
					s1: door1,
					s2: door2,
					s3: door3,
					s4: door4,
					s5: door5,
					s6: door6,
					s7: door7,
					s8: door8,
					s9: door9,
					s101: door101,
					s102: door102,
					s103:door103,
					s104:door104,
					dm1: dm1,
					dm2: dm2,
					yjInfo: yjInfo,
					yjrInfo: yjrInfo,
					yjmpl: yjmpl,
					g1: g1,
					g2: g2,
					g3: g3,
					g4: g4,
					g5: g5,
					g6: g6,
					g7: g7,
					t1: t1,
					t2: t2,
					g8: g8,
					g9: g9,
					g10: g10,
					g11: g111,
					g12: g113,
					doorArr: upArrdown == 0 ? this.doorList : this.doorList.reverse(),
					doorOrder: upArrdown, //传上行的是否倒叙0为正序，1为倒叙
					drivedoor: drive1, //驾驶员门状态
				};

				var obj1 = {
					s1: door11,
					s2: door22,
					s3: door33,
					s4: door44,
					s5: door55,
					s6: door66,
					s7: door77,
					s8: door88,
					s9: door99,
					s101: door111,
					s102: door112,
					s103:door113,
					s104:door114,
					dm1: dm11,
					dm2: dm22,
					yjInfo: yjInfo1,
					yjrInfo: yjrInfo1,
					yjmpl: yjmpldown,
					g1: g11,
					g2: g22,
					g3: g33,
					g4: g44,
					g5: g55,
					g6: g66,
					g7: g77,
					t1: t11,
					t2: t22,
					g8: g88,
					g9: g99,
					g10: g101,
					g11: g112,
					g12: g114,
					doorArr: downArrdown == 0 ? this.doorListDown : this.doorListDown.reverse(), //下行数据倒叙-----后端传的是正序
					doorOrder: downArrdown, //传下行的是否倒叙0为正序，1为倒叙
					drivedoor: drive2, //驾驶员门状态
				};
				this.getdoorInfo(obj, 0);
				this.getdoorInfo(obj1, 1);
				//应急门的告警信息 -------SysEed
				// 电池故障的显示
				this.MLinfo(this.homeDianList, message.pscPower);
				this.homeDianList[6].status = message.upLink.sysPscCenterControlPanel.mainControlFault //新增主控器A故障
				this.homeDianList[7].status = message.downLink.sysPscCenterControlPanel.mainControlFault //新增主控器B故障
				// 上下行数据的IBP命令
				this.MLinfo(this.IBPList, message.upLink.sysIbpReservePanel);
				this.MLinfo(this.IBPList1, message.downLink.sysIbpReservePanel);
				// IBP预警参数
				this.IBPWaringContent = message.upLink.sysIbpReservePanel.ibpAlarm;
				this.IBPWaringContentDown = message.downLink.sysIbpReservePanel.ibpAlarm;

				//上下行数据的PSL命令
				this.MLinfo(this.PSLList1Up, message.upLink.sysPslControlPanel);
				this.MLinfo(this.PSLList2Up, message.upLink.sysPslControlPanel);
				this.MLinfo(this.PSLList3Up, message.upLink.sysPslControlPanel);
				this.MLinfo(this.PSLList1Down, message.downLink.sysPslControlPanel);
				this.MLinfo(this.PSLList2Down, message.downLink.sysPslControlPanel);
				this.MLinfo(this.PSLList3Down, message.downLink.sysPslControlPanel);
				//PSL的预警
				this.PSLWaringContent1 = message.upLink.sysPslControlPanel.psl1Alarm;
				this.PSLWaringContent2 = message.upLink.sysPslControlPanel.psl2Alarm;
				this.PSLWaringContent3 = message.upLink.sysPslControlPanel.psl3Alarm;
				this.PSCWaringContentDown1 =
					message.downLink.sysPslControlPanel.psl1Alarm;
				this.PSCWaringContentDown2 =
					message.downLink.sysPslControlPanel.psl2Alarm;
				this.PSCWaringContentDown3 =
					message.downLink.sysPslControlPanel.psl3Alarm;

				//上下行数据的SIG命令
				this.MLinfo(this.SIGList, message.upLink.sysSigSystem);
				this.MLinfo(this.SIGList1, message.downLink.sysSigSystem);
				//上下行数据的PSC信息
				this.MLinfo(this.PSCList, message.upLink.sysPscCenterControlPanel);
				this.MLinfo(this.PSCList1, message.downLink.sysPscCenterControlPanel);
				let upLinkPSCStatus = this.getPSCData(message.upLink.sysPscCenterControlPanel, message.upLink.sysIbpAndPsl);
				let downLinkPSCStatus = this.getPSCData(message.downLink.sysPscCenterControlPanel, message.downLink.sysIbpAndPsl);
				if (upLinkPSCStatus && message.taskStatus != 1 && message.taskStatus != 3 && message.ab == 'A') {
					this.PSCList[6].status = 2; //PEDCA通讯
				}else if(!upLinkPSCStatus&& message.taskStatus != 1 && message.taskStatus != 3 && message.ab == 'A'){
					this.PSCList[6].status = -1;
				}
				if (upLinkPSCStatus && message.taskStatus != 2 && message.taskStatus != 3 && message.ab == 'B') {
					this.PSCList[7].status = 2; //PEDCB通讯
				}else if(!upLinkPSCStatus && message.taskStatus != 2 && message.taskStatus != 3 && message.ab == 'B'){
					this.PSCList[7].status = -1; //PEDCB通讯
				}
				if (downLinkPSCStatus && message.taskStatus != 1 && message.taskStatus != 3 && message.ab == 'A') {
					this.PSCList1[6].status = 2;
				} else if(!downLinkPSCStatus && message.taskStatus != 1 && message.taskStatus != 3 && message.ab == 'A'){
					this.PSCList1[6].status = -1;
				}
				if (downLinkPSCStatus && message.taskStatus != 2 && message.taskStatus != 3 && message.ab == 'B') {
					this.PSCList1[7].status = 2; //PEDCB通讯
				}else if(!downLinkPSCStatus && message.taskStatus != 2 && message.taskStatus != 3 && message.ab == 'B'){
					this.PSCList1[7].status = -1; //PEDCB通讯
				}
				//PSC的预警参数
				this.PSCWaringContent = message.upLink.sysPscCenterControlPanel.pscAlarm;
				this.PSCWaringContentDown =
					message.downLink.sysPscCenterControlPanel.pscAlarm;
				//安全回路故障显示
				this.safeInfo(this.doorListSafe, message.dcuMap); //上行安全回路显示
				this.safeInfo(this.doorListDownSafe, message.dcuMap); //下行回路显示
			},
			//psc信息故障回显的状态值
			getPSCData(gz1, gz2) {
				if (gz1.sigComFaultAlarm == 1 || gz1.tiasNetFault == 1 || gz1.bus1FaultAlarm == 1 || gz1.bus2FaultAlarm ==
					1 || gz1.safeInputFaultWarning == 1) {
					return true
				}
				let a = ''
				if (gz2) {
					Object.keys(gz2).forEach(item => {
						if (gz2[item] == 1) {
							a =  true
						}
					})
					return a
				}

			},
			//安全回路的显示
			safeInfo(Arr, ObjArr) {
				var newArr = [];
				var dcuID = "";
				Arr.forEach((item) => {
					//console.log( item.dcu,'','malili')
					Object.keys(ObjArr).forEach((val) => {
						if (val < 127) {
							//上行
							dcuID = Number(val) + this.stepUp;
						} else if ((val < 200) & (val > 128) ){
							// //下行
							dcuID = Number(val) - 128 + this.stepDown; //下行对应是大于129 （129-128） 为第一个门对应101
						}
						 else if ((val < 300) & (val > 200) ){
							// //下行
							dcuID ="E20"+( Number(val) - 250) ; //上行应急们
						}
						else if (val > 300 ){
							// //下行
							dcuID = "E10"+(Number(val) - 350 ); //下行应急们
						}
						//console.log( '',dcuID,'malili2')
						if ((item.dcu === dcuID) || (Number(item.dcu)===Number(dcuID))) 
						{
							item.collection1 = ObjArr[val].collection1;
							item.collection2 = ObjArr[val].collection2;
						}
					});
				});
			},
			// 中文换算
			getEnglish(n) {
				switch (n) {
					case 1:
						return "one";
						break;
					case 2:
						return "two";
						break;
					case 3:
						return "three";
						break;
					case 4:
						return "four";
						break;
					case 5:
						return "five";
						break;
					case 6:
						return "six";
						break;
					case 7:
						return "seven";
						break;
					case 8:
						return "eight";
						break;
					default:
						// 与 case 1 和 case 2 不同时执行的代码
				}
			},
			//根据数组回显命令的信息的状态
			MLinfo(Arr, ObjArr) {
				Arr.forEach((item) => {
					Object.keys(ObjArr).forEach((val) => {
						if (item.FName === val) {
							item.status = ObjArr[val];
						}
					});
				});
			},
			//电磁锁故障和电机驱动器温度异常故障
			GLInfo(Arr, ObjArr, num, status) {
				var newArr = [];
				var dcuID = "";
				for (var i = 0; i < 41; i++) {
					newArr.push(-1);
				}
				Arr.forEach((item) => {
					Object.keys(ObjArr).forEach((val) => {
						if (val < 127) {
							//上行
							dcuID = Number(val) + this.stepUp;
						} else {
							// //下行
							dcuID = Number(val) - 128 + this.stepDown; //下行对应是大于129 （129-128） 为第一个门对应101
						}

						let index;
						if (
							(item.doorType == 1 || item.doorType == 3) &&
							item.stationSide == 0 &&
							Number(item.dcu) === Number(dcuID)
						) {
							//下行滑动门
							index = Number(val) - 128 - 1;
						} else if (
							(item.doorType == 1 || item.doorType == 3) &&
							item.stationSide == 1 &&
							Number(item.dcu) === Number(dcuID)
						) {
							//上行滑动门
							index = val - 1;
						}

						switch (num) {
							case 0:
								newArr[index] = ObjArr[val]
									.motorDriverTempStatus; //正常01异常10 ---2023年2月8日修改
								break;
							case 1:
								newArr[index] = ObjArr[val].leftElecLockFault; //左电磁锁的数组
								break;
							case 2:
								newArr[index] = ObjArr[val].rightElecLockFault; //右电磁锁的数组
								break;
							case 3:
								newArr[index] = ObjArr[val].autoLearningStatus; //自学习状态
								break;
							case 4:
								newArr[index] = ObjArr[val].isHaveEmergencyDoor; //有无应急门
								break;
							case 5:
								newArr[index] = ObjArr[val].isADown == 2 ? 1 : 0; //记录板A通信故障
								break;
							case 6:
								newArr[index] = ObjArr[val].isBDown == 2 ? 1 : 0; //记录板B系通信故障
								break;
							case 7:
								newArr[index] = ObjArr[val].downCode > 0 ? 1 : 0; //应用代码
								break;
							case 8:
								newArr[index] = ObjArr[val].cpu0 == 1 ? 1 : 0; // can cpu0故障
								break;
							case 9:
								newArr[index] = ObjArr[val].cpu1 == 1 ? 1 : 0; // can cpu1故障
								break;
							default:
								break;
						}
					});
				});
				return newArr;
			},
			// 根据返回的门的字符串信息获取门的状态的优先级和状态值
			getdoorInfo(data, down) {
				let doorListHD = []; //41个滑动门的数组
				let dmdoor = []; //端门信息
				let yjdoor = []; //应急门
				let drivedoor = []; //司机门
				data.doorArr.forEach((item) => {
					if (item.doorType == 1 || item.doorType == 3) {
						doorListHD.push(item);
					} else if (item.doorType == 0) {
						dmdoor.push(item);
					} else if (item.doorType == 2) {
						yjdoor.push(item);
					}else if(item.doorType == 4){
						drivedoor.push(item);
					}
				});
				//data.s1 = "1111110000000000000000000000000000000000000000000000000000000000"
				//数组中push状态值和故障值
				doorListHD.forEach((val, index) => {
					val.asdOpen = data.s1.split("")[index]; //开门到位
					val.asdClosed = data.s2.split("")[index]; //关门到位
					val.asdCloseLocked = data.s3.split("")[index]; //关闭锁紧
					val.asdManualUnlock = data.s4.split("")[index]; //手动解锁
					val.asdLcbSeparate = data.s5.split("")[index]; //LCB隔离状态
					val.asdClosing = data.s6.split("")[index]; //关门过程中
					val.asdOpening = data.s7.split("")[index]; //开门过程中
					val.asdOpenBlock = data.s8.split("")[index]; //开门遇阻
					val.asdCloseBlock = data.s9.split("")[index]; //关门遇阻
					val.asdOpenFaultAlarm = data.g3.split("")[index]; //开门故障
					val.asdCloseFaultAlarm = data.g4.split("")[index]; //关门故障
					val.leftLockFault = data.g5[index]; //左电磁锁故障
					val.rightLockFault = data.g6[index]; //右电磁锁故障
					val.temperatureAbnormal = data.g7[index]; //电机驱动异常的数组
					val.autoLearningStatus = data.t1[index]; //自学习状态
					val.isHaveEmergencyDoor = data.t2[index]; //有无应急门
					val.lCB6MarshallInfo = data.s103.split("")[index];
					val.lCB8MarshallInfo = data.s104.split("")[index];
				});
				var vZ = [
					data.s1.split(""),
					data.s2.split(""),
					data.s3.split(""),
					data.s4.split(""),
					data.s5.split(""),
					data.s6.split(""),
					data.s7.split(""),
					data.s8.split(""),
					data.s9.split(""),
					data.t1,
					data.t2,
				]; //重组状态的二维数组
				//console.log(vZ,'二维数组')
				var gZ = [
					data.g1.split(""),
					data.g2.split(""),
					data.g3.split(""),
					data.g4.split(""),
					data.g5,
					data.g6,
					data.g7,
					data.g8,
					data.g9,
					data.g10,
					data.g11,
					data.s101.split(""),
					data.s102.split(""),
					data.g12,
				];
				//重组故障的二维数组
				var key = [2, 1, 3, 9, 8, 4, 5, 6, 7, -1, -1]; //状态的优先级就是开门到位对应的还是优先级为2，关门到位是1,以此类推
				var key1 = [1, 2, 4, 3, 5, 6, 7, -1, -1, -1, -1, -1, -1, -1]; //故障的优先级
				const fanimalArr = [
					[]
				]; //记录有状态的门的状态的下标,优先级,状态的个数
				const fanimalArrG = [
					[]
				]; //记录有故障的门的状态的下标,优先级,状态的个数
				//41个滑动门的状态和故障的信息
				for (var j = 0; j < doorListHD.length; j++) {
					fanimalArr[j] = [];
					fanimalArrG[j] = [];
					var num = 1;
					var numG = 1;
					for (var i = 0; i < key.length; i++) {
						if (vZ[i][j] == 1) {
							var obj = {
								statusZ: i, //门的状态下标
								key: key[i], //门的状态优先级
								statusNum: num++, //状态的个数
							};
							fanimalArr[j].push(obj);
						} else if ((vZ[i][j] == 0 && i == 7) || (vZ[i][j] == 0 && i == 8)) {
							//7,8为开门遇阻和关门遇阻的数据
							var obj = {
								statusZ: i, //门的状态下标
								key: 0, //门的状态优先级
								statusNum: num, //状态的个数
							};
							fanimalArr[j].push(obj);
						}
					}
					if (gZ.length !== 0) {
						for (var i = 0; i < key1.length; i++) {
							if (gZ[i][j] == 1) {
								var obj = {
									statusGIndex: i, //门的故障状态下标
									key: key1[i], //故障的优先级
									statusGNum: numG++, //门故障的个数
								};
								fanimalArrG[j].push(obj);
							}
						}
					}
				}
				//重组doorList滑动门的信息
				doorListHD.forEach((item, index) => {
					this.$set(doorListHD[index], "status", 1); //滑动门的状态1表示状态值
					this.$set(doorListHD[index], "statusList", fanimalArr[index]); //每个滑动门的下的状态数组
					this.$set(doorListHD[index], "statusGList", fanimalArrG[index]); //每个滑动门的下的故障数组
					if (fanimalArrG[index].length == 0) {
						//每个滑动门如果故障数组为0则没有故障只显示状态
						this.$set(doorListHD[index], "statusG", 0); //statusG为故障状态为0
						this.$set(
							doorListHD[index],
							"statusNum",
							fanimalArr[index].length - 2
						); //右上角显示状态的个数
					} else {
						this.$set(doorListHD[index], "statusG", 1); //statusG为故障状态为1
						this.$set(doorListHD[index], "statusGNum", fanimalArrG[index].length); //右上角显示故障的个数
					}
					//显示每个门当前状态下的优先级高的门的状态
					if (fanimalArr[index].length !== 0) {
						var max = fanimalArr[index][0].key; //定义初始门的key
						fanimalArr[index].forEach((val, num) => {
							if (fanimalArr[index][num].key > max) {
								max = fanimalArr[index][num].key;
								const mMax = fanimalArr[index][num].statusZ; //记录最大值的index的下标
								this.$set(doorListHD[index], "statusZ", mMax);
							} else if (num == 0) {
								this.$set(
									doorListHD[index],
									"statusZ",
									fanimalArr[index][0].statusZ
								);
							}
						});
					}
				});
				//重组端门信息
				dmdoor.forEach((item, index) => {
					if (index == 0) {
						this.$set(dmdoor[index], "status", data.dm1);
					} else {
						this.$set(dmdoor[index], "status", data.dm2);
					}
				});


				//重组应急门信息
				yjdoor.forEach((item, index) => {
					this.$set(yjdoor[index], "statuslf", data.yjInfo[index]);
					this.$set(yjdoor[index], "statusrg", data.yjrInfo[index]);
					var yjmpl = data.yjmpl.split("");
					this.$set(yjdoor[index], "statusyjmpl", yjmpl[index]);
				});
				if (down == 0 && data.doorOrder == 1) {
					this.doorList.reverse(); //下行数据倒叙
				}
				if (down == 1 && data.doorOrder == 1) {
					this.doorListDown.reverse(); //下行数据倒叙
				}
				drivedoor.forEach((item, index) => {
					this.$set(drivedoor[index], "status", data.drivedoor);
				});
			},
			//鼠标在弹窗上---解决弹窗闪烁的问题
			tanchuangmouse() {
				this.dialogStatus = true;
			},
			//鼠标在弹窗上---解决弹窗闪烁的问题
			tanchuangmouse1() {
				this.dialogStatus = false;
				this.doorStatus = false;
			},
			//弹窗的位置显示
			updateXY(event) {
				var screenWidth = document.body.clientWidth;
				var JX = screenWidth - event.clientX;
				var xAll = this.mouse_x + 400 - screenWidth; //差值
				this.mouse_x = event.pageX;
				this.mouse_y = event.pageY;
				if (JX < 300) {
					this.sty = {
						top: this.mouse_y - 5 + "px",
						left: this.mouse_x - xAll + "px",
					};
				} else {
					this.sty = {
						top: this.mouse_y - 5 + "px",
						left: this.mouse_x - 5 + "px",
					};
				}
			},
			// 门滑动的效果
			doorHover(item, index, number) {
				this.doorIndex = index; //记录当前滑过门的下标
				this.doorDeNum = number; //记录当前门的方向
				this.doorNum = item.dcu;
				this.doorStatus = true;
				if (item.dcu !== "0" && (item.doorType == 1 || item.doorType == 3)) {
					//去除页面中多加的数据dcu为0的
					this.$nextTick(() => {
						this.dmStatus = false;
						this.yjStatus = false;
						if (item.statusG == 1) {
							//故障码显示
							this.Gstatus = true;
							this.Tstatus = false;
							if (item.statusGList && item.statusGList.length !== 0) {
								//重新赋值
								this.doorBaseInfoC2.forEach((item) => {
									item.status = 0;
								});
								//数组显示
								item.statusGList.forEach((itemG) => {
									this.$set(this.doorBaseInfoC2[itemG.statusGIndex], "status", 2);
								});
							}
						} else {
							this.doorBaseInfoC1 = [];
							this.Tstatus = true;
							this.Gstatus = false;
							this.homeTuStListAll1.forEach((val) => {
								var obj = {
									name: val.name,
									key: val.status,
									status: 0,
								};
								this.doorBaseInfoC1.push(obj);
							});
							if (item.statusList && item.statusList.length !== 0) {
								item.statusList.forEach((item) => {
									this.doorBaseInfoC1.forEach((val, index) => {
										if (
											item.statusZ == val.key &&
											item.statusZ !== 7 &&
											item.statusZ !== 8
										) {
											this.$set(this.doorBaseInfoC1[index], "status", 1);
											// this.doorBaseInfoC1[index].status = 1
										} else if (
											item.statusZ == val.key &&
											(item.statusZ == 7 || item.statusZ == 8)
										) {
											this.$set(this.doorBaseInfoC1[index], "status", 0);
										}
									});
								});
							}
						}
					});
				} else if (item.doorType == 0) {
					this.Gstatus = false;
					this.Tstatus = false;
					this.dmStatus = true;
					this.yjStatus = false;
					this.dm1Status = item.status;
				} else if (item.doorType == 2) {
					this.Gstatus = false;
					this.Tstatus = false;
					this.dmStatus = false;
					this.yjStatus = true;
					this.yjStatus1 = item.statuslf;
					this.yjStatus2 = item.statusrg;
					this.yjmplStatus = item.statusyjmpl;
				}else{
					this.doorStatus = false;
				}
				if (number == 0) {
					this.doorDe = "下行";
				} else {
					this.doorDe = "上行";
				}
			},
			//门离开的效果
			doorLeave(item, number) {
				if (this.dialogStatus) {
					this.doorStatus = true;
					this.dialogStatus = false; //在弹窗上划入但是没有滑出
				} else {
					this.doorStatus = false;
					this.$nextTick(() => {
						this.doorNum = "";
						this.doorDe = "";
					});
					this.dialogStatus = false;
				}
			},
			//点击单门的信息
			doorInfo(info, stationDe) {
				if(info.dcu !== "0"){
					if(info.doorType == 1 || info.doorType == 3){
						this.$router.push({
							path: "/doorInfo/index",
							query: {
								doorType: info.doorType,
								stationDe: stationDe,
								stationN: this.stationName,
								doorDcu: info.dcu,
								type:info.type
							},
						});
					}
					// if(info.doorType == 2){
					// 	this.$router.push({
					// 		path: "/doorInfo/index",
					// 		query: {
					// 			doorType: info.doorType,
					// 			stationDe: stationDe,
					// 			stationN: this.stationName,
					// 			doorDcu: info.dcu,
					// 			type:info.type
					// 		},
					// 	});
					// }
				}
			},
			//点击安全回路
			safeContentShow(index, station, status) {
				if (index == 3) {
					this.safeStatus = true;
					this.$nextTick(() => {
						this.$refs.safeContent.init(
							station,
							this.doorListSafe,
							this.doorListDownSafe,
							this.secUpOrder,
							this.secDownOrder
						);
					});
				}
				if (index == 6 && status == 2 || index == 7 && status == 2) {
					this.$router.push('/sysFault-index')
				}
			},
		},
	};
</script>

<style scoped>
	.mod-home {
		line-height: 1.5;
	}

	.home-header {
		height: 5.5vh;
		line-height: 5.5vh;
		background-color: #fff;
		text-align: center;
		/* font-size: 37px; */
		font-size: 32px;
		font-weight: 900;
		letter-spacing: 9px;
		color: rgba(42, 130, 228, 1);
		border-radius: 10px;
		margin-bottom: 10px;
	}

	.home-tuli {
		height: 7.6vh;
		min-height: 76px;
		padding: 0 16px;
		background-color: #fff;
		border-radius: 10px;
		margin-right: 10px;
		display: flex;
		align-items: center;
	}

	.home-tuli1 {
		margin-right: 0 !important;
	}

	.homeTuTxt {
		width: 16px;
		font-size: 14px;
		font-weight: 700;
		word-wrap: break-word;
		word-break: normal;
		color: rgba(42, 130, 228, 1);
	}

	.homeTuSt {
		display: flex;
		flex-direction: column;
		margin-left: 1.5vw;
	}

	.homeTuSt1,
	.homeTuSt2 {
		color: #fff;
		padding: 2px 16px;
		background: rgba(67, 207, 124, 1);
		border-radius: 5px;
		font-size: 14px;
		text-align: center;
		width: 80px;
		display: block;
	}

	.homeTuSt2 {
		background: rgba(128, 128, 128, 1);
		margin-top: 5px;
	}

	.homeTuStList,
	.homeDY {
		margin-left: 1.5vw;
	}

	.homeTuStList ul {
		list-style: none;
		padding: 0;
		margin: 0;
		display: flex;
		justify-content: space-evenly;
	}

	.homeTuStList ul li {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		/* margin-right: 28px; */
	}

	.homeTuStListLi {
		/* width: 32px; */
		height: 100%;
	}

	.homeTuStListLi img {
		width: 26px;
	}

	.homeTuStListLi span {
		margin-top: 4px;
		font-size: 14px;
	}

	.homeTuTxt1 {
		font-size: 14px;
		line-height: 16px;
	}

	.homeDY {
		width: 100%;
		height: 100%;
		display: flex;
		align-items: center;
	}

	.homeDY ul {
		width: 100%;
		height: 100%;
		list-style: none;
		display: flex;
		align-items: center;
		flex-wrap: wrap;
		padding: 0;
		margin: 0;
	}

	.homeDY ul li {
		/* width: 33%; */
		background: rgba(166, 166, 166, 1);
		padding: 3px 15px;
		font-size: 14px;
		color: #fff;
		border-radius: 5px;
		display: flex;
		align-items: center;
		justify-content: center;
		margin-right: 10px;
	}

	.active {
		background: rgba(212, 48, 48, 1) !important;
		/* background-image: radial-gradient(#fff,rgba(212, 48, 48, 1),rgba(212, 48, 48, 1))!important; */
	}

	.homeSH {
		width: 100%;
		height: 16.6vh;
		min-height: 133px;
		background: #fff;
		margin-top: 10px;
		border-radius: 10px;
		padding: 1vh 1vw;
	}

	.homeSHTxt {
		margin: 0;
		font-size: 1.5vw;
		font-weight: 700;
		color: rgba(42, 130, 228, 1);
	}

	.homeSH1 {
		display: flex;
		flex-wrap: wrap;
		padding: 0vw 0.2vh;
		padding-bottom: 0;
	}

	.homeSH2 {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		/* margin-right: 18px; */
		width: 3.8%;
		height: 5.5vh;
		min-height: 55px;
		font-size: 14px;
		cursor: pointer;
	}

	/* .homeSH1 .homeSH2:nth-child(27) {
		opacity: 0;
	} */

	/* .homeSH1 .homeSH2:nth-child(26) span {
		opacity: 0;
	} */

	.door1 {
		flex-direction: column-reverse;
	}
	.door1::after {
		content:"";
		display: block;
		flex-basis: 100%;
	}
	.homeSH2 img {
		width: auto;
		height: 26px;
	}

	/* 故障显示 */
	.item>>>.el-badge__content {
		background: rgba(212, 48, 48, 1);
	}

	/* 状态显示 */
	.item1>>>.el-badge__content {
		background: rgba(67, 207, 124, 1);
	}

	/* 列车隔离站台门，站台隔离列车门 */
	.ztgl {
		width: 10px;
		height: 10px;
		border-radius: 100%;
		background: #ffd800;
		position: absolute;
		left: -5px;
		top: -5px;
	}

	.homeSH1 .homeSH2:first-child img,
	.homeSH1 .homeSH2:last-child img {
		width: 20px;
	}

	.homeSHM {
		display: flex;
		align-items: center;
		height: 19.2vh;
		min-height: 157px;
	}

	.homeTuStList {
		display: flex;
	}

	.homeTuStList1,
	.homeTuStList2 {
		width: 10.3vw;
		min-width: 100px;
		height: 17vh;
		min-height: 159px;
		margin-right: 0.9vw;
		border-radius: 10px;
		border: 1px solid rgba(42, 130, 228, 1);
		position: relative;
	}

	.homeTuStList2 {
		/* width: 17.4vw; */
		width: 26%;
		height: 17vh;
	}

	.homeTuStList11 {
		text-align: center;
		font-size: 16px;
		font-weight: 700;
		color: rgba(0, 65, 135, 1);
		margin: 0px auto;
	}

	.homeTuStList12 {
		display: flex;
		flex-direction: column;
		justify-content: space-evenly;
		align-items: center;
		height: calc(100% - 24px);
	}

	.homeTuStList2 .homeTuStList12 {
		display: flex;
		flex-direction: inherit;
		/* justify-content: flex-start; */
		justify-content: center;
		flex-wrap: wrap;
		padding: 0 10px 10px 10px;
	}

	.homeTuStList13 {
		background: rgba(166, 166, 166, 1);
		color: #fff;
		border-radius: 5px;
		padding: 0.4vw 0.7vh;
		font-size: 14px;
		margin-bottom: 0.3vh;
		cursor: pointer;
	}

	.PSLBtn {
		border: none;
	}

	.homeTuStList2 .homeTuStList13 {
		padding: 0.4vw 1vh;
		/* margin-bottom: 1.4vh; */
		margin-right: 0.5vw;
		font-size: 14px;
		text-align: center;
		width: 48%;
	}

	.PSCWidth1 .homeTuStList13:nth-child(2n + 1) {
		width: 47%;
	}

	.PSCWidth1 .homeTuStList13:nth-child(2n) {
		width: 47%;
	}

	.homeTuStList3 .homeTuStList13 {
		font-size: 14px;
		/* margin: auto; */
	}

	.homeTuStList3 .homeTuStList12 {
		/* height: 78%; */
	}

	.homeTuStList2 .homeTuStList13:nth-child(2n) {
		margin-right: 0 !important;
	}

	/* .homeTuStList2 .homeTuStList13:nth-child(5) {
		margin-right: 24px;
	} */

	.IBPactive {
		background: rgba(67, 207, 124, 1) !important;
		/* background-image:radial-gradient(#fff, #09D891,#09D891)!important; */
	}

	.activeY {
		/* background: #ff8d1a !important; */
		background: linear-gradient(0deg,
				#ff8d1a 0%,
				#ff8d1a 100%) !important;
		box-shadow: inset 2px 2px 2px 0px rgb(255 255 255 / 50%),
			7px 7px 20px 0px rgb(0 0 0 / 10%), 4px 4px 5px 0px rgb(0 0 0 / 50%);
	}

	.homewarn {
		position: absolute;
		right: 0.5vw;
		top: 0.1vw;
		width: 1.25vw;
		height: 1.25vw;
		cursor: pointer;
	}

	.doorBaseInfo {
		width: 30.4vw;
		min-width: 260px;
		padding: 1.3vh 1.5vw;
		height: 25vh;
		min-height: 200px;
		border-radius: 10px;
		background: rgba(0, 0, 0, 0.6);
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-12.7vw, -2.5vh);
	}

	.doorBaseInfoH {
		display: flex;
		justify-content: center;
		font-size: 16px;
		font-weight: 400;
		color: rgba(255, 255, 255, 1);
	}

	.doorBaseInfoH div {
		width: 50%;
		display: flex;
		justify-content: flex-start;
	}

	.doorBaseInfoH1 {
		width: 7.25vw;
		min-width: 84px;
		display: block;
	}

	.doorBaseInfoH2 {
		width: 4.25vw;
		display: block;
	}

	.doorBaseInfoC {
		display: flex;
		font-size: 14px;
		font-weight: 400;
		margin-top: 1.6vh;
		color: rgba(255, 255, 255, 1);
		height: calc(100% - 24px);
	}

	.doorBaseInfoN1 {
		position: relative;
		padding-left: 2vw;
		/* margin-bottom: 0.4vh; */
		height: 1.2vw;
		display: flex;
		align-items: center;
	}

	.doorBaseInfoNTxt {
		/* position: relative; */
		padding-right: 10px;
		/* margin-bottom: 0.4vh; */
		/* height: 1.2vw; */
		/* display: flex; */
		/* align-items: center; */
		/* margin-top: -2px; */
	}

	.doorBaseInfoN1:before {
		content: "";
		width: 1vw;
		height: 1vw;
		border-radius: 100px;
		background: rgba(229, 229, 229, 1);
		position: absolute;
		left: 0;
		top: 2px;
	}

	.doorBaseInfoNA:before {
		background-image: radial-gradient(#fff, #09d891, #09d891) !important;
		/* background: rgba(9, 216, 145, 1) !important; */
	}

	.doorBaseInfoNB:before {
		/* background: rgba(212, 48, 48, 1) !important; */
		background-image: radial-gradient(#fff,
				rgba(212, 48, 48, 1),
				rgba(212, 48, 48, 1)) !important;
	}

	.doorBaseInfolf,
	.doorBaseInfoRg {
		width: 100%;
		display: flex;
		/* padding-right: 0.78vw; */
		/* height: 8.75vh; */
		flex-direction: initial;
		flex-wrap: wrap;
		justify-content: space-between;
		/* border-right: 1px solid rgba(255, 255, 255, 1); */
	}

	.doorBaseInfolf .doorBaseInfoN1,
	.doorBaseInfoRg .doorBaseInfoN1 {
		width: 50%;
	}

	.doorBaseInfoNG:last-child {
		width: 50% !important;
	}

	.doorBaseInfoNG1:nth-child(6) {
		/* opacity: 0 !important; */
		display: none;
	}

	.doorBaseInfoRg {
		/* padding-left: 0.9vw; */
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		/* height: 8.75vh; */
		justify-content: space-between;
	}

	.opcity1 {
		opacity: 0 !important;
		flex-basis: 100%;
		min-height: 0 !important;
		height: 0 !important;
	}

	.PSLW {
		width: 20% !important;
	}

	.PSL12 {
		padding: 5px !important;
	}

	.PSLNew {
		padding: 0.2vw 2px !important;
		margin-right: 0.2vw !important;
		width: 49%;
	}

	.PSLNew2 {
		padding: 0.2vw 8px !important;
	}

	.PSLNew1 {
		padding: 0.2vw 0.4vh !important;
	}

	.PSLNew3 {
		padding: 0.2vw 2px !important;
		/* width: 60%; */
	}

	.PSLNew3:nth-child(2n + 1) {
		width: 56%;
	}

	.PSLNew3:nth-child(2n) {
		width: 39%;
	}

	.PSLNew3:nth-child(5) {
		margin-right: 0.5vw !important;
	}

	.SIGWidth {
		width: 8.3vw !important;
	}

	.PSCWidth {
		width: 14.4vw !important;
		margin-right: 0px !important;
	}

	.PSCWidth1 {
		/* width: 15.4vw !important; */
	}

	.tipContent {
		position: fixed;
		top: 0px;
		height: 50px;
		line-height: 50px;
		z-index: 999999;
		width: 50%;
		margin-left: 20%;
		text-align: center;
	}

	.tipsTxt {
		color: red;
		font-weight: 600;
		font-size: 20px;
		width: 250px;
		margin: 0 auto;
	}

	.tipsTxt>>>.marquee-wrap,
	.tipsTxt>>>.scroll {
		height: 50px;
	}

	.tipsTxt>>>.marquee,
	.tipsTxt>>>.copy {
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}

	.tipsTxt>>>.getWidth {
		margin: 0 !important;
	}

	/* .doorBaseInfoRg .doorBaseInfoN1:nth-child(2n+1){
		margin-right: 1vw;
	} */
	.SIGList {
		padding: 10px;
	}

	/* 文字滚动 */
	.merquee {
		height: 50px;
		line-height: 50px;
		box-sizing: border-box;
		word-break: break-all;
		white-space: nowrap;
		overflow: hidden;
	}

	.merquee-txt {
		display: inline-block;
		padding-left: 100%;
		/* 从右至左开始滚动 */
		animation: marqueeTransform 16s linear infinite;
	}

	.safeBtn {
		position: relative;
		background: linear-gradient(0deg,
				rgba(255, 27, 0, 1) 0%,
				rgba(212, 48, 48, 1) 100%) !important;
		box-shadow: inset 2px 2px 2px 0px rgb(255 255 255 / 50%),
			7px 7px 20px 0px rgb(0 0 0 / 10%), 4px 4px 5px 0px rgb(0 0 0 / 50%);
	}

	.safeBtn::before,
	.safeBtn::after {
		content: "";
		position: absolute;
		top: 0;
		right: 0;
		height: 2px;
		width: 0;
		background: #f0094a;
		box-shadow: -1px -1px 5px 0px #fff, 7px 7px 20px 0px #0003,
			4px 4px 5px 0px #0002;
	}

	.doorBaseInfoN3 {
		display: block;
		height: 1.2vw;
		margin-top: 10px;
		line-height: 1.2vw;
		word-break: keep-all;
		margin-right: 10px;
	}

	@keyframes marqueeTransform {
		0% {
			transform: translate(0, 0);
		}

		100% {
			transform: translate(-100%, 0);
		}
	}

	@media screen and (min-width: 1920px) {
		.homeTuStList2 .homeTuStList13 {
			width: 47%;
			text-align: center;
		}

		.homeTuStList2 .homeTuStList13:nth-child(5) {
			margin-right: 0.5vw;
		}
	}

	@media screen and (max-width: 1280px) {
		.homeTuStList2 .homeTuStList13 {
			font-size: 14px;
		}

		.homeTuStList3 .homeTuStList13 {
			font-size: 14px;
		}

		.homeDY ul li {
			font-size: 14px;
		}

		.homeTuStListLi span {
			font-size: 14px;
		}
	}
</style>